protected override bool DoEncode(IByteBufferAllocator bufferAllocator, NATSPacket packet, List <object> output) { if (base.DoEncode(bufferAllocator, packet, output)) { return(true); } switch (packet.PacketType) { case NATSPacketType.STREAM_INBOX: EncodeSubscribeMessage(bufferAllocator, (SubscribePacket)packet, output); break; case NATSPacketType.STREAM_MSG_GET: EncodePublishMessage(bufferAllocator, (GetMessagePacket)packet, output); break; case NATSPacketType.STREAM_CREATE: EncodePublishMessage(bufferAllocator, (CreatePacket)packet, output); break; case NATSPacketType.STREAM_UPDATE: EncodePublishMessage(bufferAllocator, (UpdatePacket)packet, output); break; case NATSPacketType.STREAM_NAMES: EncodePublishMessage(bufferAllocator, (NamesPacket)packet, output); break; case NATSPacketType.STREAM_LIST: EncodePublishMessage(bufferAllocator, (ListPacket)packet, output); break; case NATSPacketType.STREAM_DELETE: EncodePublishMessage(bufferAllocator, (DeletePacket)packet, output); break; case NATSPacketType.STREAM_PURGE: EncodePublishMessage(bufferAllocator, (PurgePacket)packet, output); break; case NATSPacketType.STREAM_SNAPSHOT: EncodePublishMessage(bufferAllocator, (SnapshotPacket)packet, output); break; case NATSPacketType.STREAM_MSG_DELETE: EncodePublishMessage(bufferAllocator, (DeleteMessagePacket)packet, output); break; case NATSPacketType.STREAM_REMOVE_PEERE: EncodePublishMessage(bufferAllocator, (RemovePeerPacket)packet, output); break; case NATSPacketType.STREAM_LEADER_STEPDOWN: EncodePublishMessage(bufferAllocator, (LeaderStepDownPacket)packet, output); break; case NATSPacketType.STREAM_INFO: EncodePublishMessage(bufferAllocator, (Packets.InfoPacket)packet, output); break; case NATSPacketType.CONSUMER_CREATE: EncodePublishMessage(bufferAllocator, (ConsumerCreatePacket)packet, output); break; case NATSPacketType.CONSUMER_INFO: EncodePublishMessage(bufferAllocator, (ConsumerInfoPacket)packet, output); break; case NATSPacketType.CONSUMER_NAMES: EncodePublishMessage(bufferAllocator, (ConsumerNamesPacket)packet, output); break; case NATSPacketType.CONSUMER_LIST: EncodePublishMessage(bufferAllocator, (ConsumerListPacket)packet, output); break; case NATSPacketType.CONSUMER_DELETE: EncodePublishMessage(bufferAllocator, (ConsumerDeletePacket)packet, output); break; default: return(false); } return(true); }
protected override bool DoHighFrequencyEncode(IByteBufferAllocator bufferAllocator, NATSPacket packet, List <object> output) { if (base.DoHighFrequencyEncode(bufferAllocator, packet, output)) { return(true); } switch (packet.PacketType) { case NATSPacketType.HPUB: EncodePublishHigherMessage(bufferAllocator, (PublishHigherPacket)packet, output); break; case NATSPacketType.ACK_ACK: case NATSPacketType.ACK_NAK: case NATSPacketType.ACK_PROGRESS: case NATSPacketType.ACK_NEXT: case NATSPacketType.ACK_TERM: EncodeAckMessage(bufferAllocator, (AckPacket)packet, output); break; default: return(false); } return(true); }