public static void consume(Pipe<MQTTClientRequestSchema> input) { while (PipeReader.tryReadFragment(input)) { int msgIdx = PipeReader.getMsgIdx(input); switch(msgIdx) { case MSG_BROKERCONFIG_100: consumeBrokerConfig(input); break; case MSG_CONNECT_1: consumeConnect(input); break; case MSG_PUBLISH_3: consumePublish(input); break; case MSG_SUBSCRIBE_8: consumeSubscribe(input); break; case MSG_UNSUBSCRIBE_10: consumeUnSubscribe(input); break; case -1: //requestShutdown(); break; } PipeReader.releaseReadLock(input); } }