public void Write(AmqpPrimitivesWriter amqpWriter, ushort channel, ushort classId, ushort methodId, object optionalArg)
            {
                var @params      = optionalArg as BasicPublishArgs;
                var maxFrameSize = amqpWriter.FrameMaxSize;

                if (@params.EstimatedSize >= (0.7 * maxFrameSize))                 // estimated size >= 70% of max, then dont buffer it
                {
                    AmqpChannelLevelFrameWriter.InternalBasicPublish(amqpWriter, channel, classId, methodId, optionalArg);
                }
                else
                {
                    AmqpChannelLevelFrameWriter.InternalBufferedBasicPublish(amqpWriter, channel, classId, methodId, optionalArg);
                }
            }
 public void Write(AmqpPrimitivesWriter amqpWriter, ushort channel, ushort classId, ushort methodId, object optionalArg)
 {
     AmqpChannelLevelFrameWriter.InternalBasicNAck(amqpWriter, channel, classId, methodId, optionalArg);
 }