コード例 #1
0
ファイル: AmqpMessage.cs プロジェクト: tralivali1234/IL2JS
 void EncodeSection(ByteBuffer buffer, IAmqpSerializable section)
 {
     if (section != null)
     {
         section.Encode(buffer);
     }
 }
コード例 #2
0
        /// <summary>
        /// Sends a serializable object. The buffer is initialized by the
        /// <see cref="IAmqpSerializable.Encode(ByteBuffer)"/> method.
        /// </summary>
        /// <param name="dataBlock">The serializable object.</param>
        public void SendDatablock(IAmqpSerializable dataBlock)
        {
            ByteBuffer buffer = new ByteBuffer(dataBlock.EncodeSize, true);

            dataBlock.Encode(buffer);
            this.asyncIO.WriteBuffer(buffer);
        }
コード例 #3
0
 public static AmqpMessage CreateCommandMessage(IAmqpSerializable command)
 {
     return(AmqpMessage.Create(new AmqpValue()
     {
         Value = command
     }));
 }
コード例 #4
0
 public static int GetSerializableEncodeSize(IAmqpSerializable value)
 {
     if (value == null)
     {
         return(1);
     }
     return(value.EncodeSize);
 }
コード例 #5
0
ファイル: Controller.cs プロジェクト: xinchen10/azure-amqp
        static AmqpMessage CreateCommandMessage(IAmqpSerializable command)
        {
            AmqpValue value = new AmqpValue {
                Value = command
            };

            return(AmqpMessage.Create(value));
        }
コード例 #6
0
        public void SendDatablock(IAmqpSerializable dataBlock)
        {
            ByteBuffer buffer = new ByteBuffer(new byte[dataBlock.EncodeSize]);
            dataBlock.Encode(buffer);

            int size = buffer.Length;
            this.asyncIO.WriteBuffer(buffer);
        }
コード例 #7
0
 public static void EncodeSerializable(IAmqpSerializable data, ByteBuffer buffer)
 {
     if (data == null)
     {
         AmqpEncoding.EncodeNull(buffer);
         return;
     }
     data.Encode(buffer);
 }
コード例 #8
0
ファイル: AmqpValue.cs プロジェクト: YunLi1988/ServiceBusFake
        public override int GetValueEncodeSize()
        {
            IAmqpSerializable value = base.Value as IAmqpSerializable;

            if (value != null)
            {
                return(value.EncodeSize);
            }
            return(base.GetValueEncodeSize());
        }
コード例 #9
0
        public void SendDatablock(IAmqpSerializable dataBlock)
        {
            ByteBuffer buffer = new ByteBuffer(new byte[dataBlock.EncodeSize]);

            dataBlock.Encode(buffer);

            int size = buffer.Length;

            this.asyncIO.WriteBuffer(buffer);
        }
コード例 #10
0
ファイル: AmqpValue.cs プロジェクト: YunLi1988/ServiceBusFake
        public override void EncodeValue(ByteBuffer buffer)
        {
            IAmqpSerializable value = base.Value as IAmqpSerializable;

            if (value != null)
            {
                value.Encode(buffer);
                return;
            }
            base.EncodeValue(buffer);
        }
コード例 #11
0
 /// <summary>
 /// Gets the encode size of an <see cref="IAmqpSerializable"/> type.
 /// </summary>
 /// <param name="value">The serializable value.</param>
 /// <returns>Encode size in bytes of the serializable.</returns>
 public static int GetSerializableEncodeSize(IAmqpSerializable value)
 {
     if (value == null)
     {
         return(FixedWidth.NullEncoded);
     }
     else
     {
         return(value.EncodeSize);
     }
 }
コード例 #12
0
        public override void EncodeValue(ByteBuffer buffer)
        {
            IAmqpSerializable amqpSerializable = this.Value as IAmqpSerializable;

            if (amqpSerializable != null)
            {
                amqpSerializable.Encode(buffer);
            }
            else
            {
                base.EncodeValue(buffer);
            }
        }
コード例 #13
0
        public override int GetValueEncodeSize()
        {
            IAmqpSerializable amqpSerializable = this.Value as IAmqpSerializable;

            if (amqpSerializable != null)
            {
                return(amqpSerializable.EncodeSize);
            }
            else
            {
                return(base.GetValueEncodeSize());
            }
        }
コード例 #14
0
        public static int GetObjectEncodeSize(object value)
        {
            if (value == null)
            {
                return(1);
            }
            IAmqpSerializable amqpSerializable = value as IAmqpSerializable;

            if (amqpSerializable != null)
            {
                return(amqpSerializable.EncodeSize);
            }
            return(AmqpEncoding.GetEncoding(value).GetObjectEncodeSize(value, false));
        }
コード例 #15
0
        public static void EncodeObject(object value, ByteBuffer buffer)
        {
            if (value == null)
            {
                AmqpEncoding.EncodeNull(buffer);
                return;
            }
            IAmqpSerializable amqpSerializable = value as IAmqpSerializable;

            if (amqpSerializable != null)
            {
                amqpSerializable.Encode(buffer);
                return;
            }
            AmqpEncoding.GetEncoding(value).EncodeObject(value, false, buffer);
        }
コード例 #16
0
        public static int GetObjectEncodeSize(object value)
        {
            if (value == null)
            {
                return(FixedWidth.NullEncoded);
            }

            IAmqpSerializable serializable = value as IAmqpSerializable;

            if (serializable != null)
            {
                return(serializable.EncodeSize);
            }

            EncodingBase encoding = GetEncoding(value);

            return(encoding.GetObjectEncodeSize(value, false));
        }
コード例 #17
0
        public static void EncodeObject(object value, ByteBuffer buffer)
        {
            if (value == null)
            {
                EncodeNull(buffer);
                return;
            }

            IAmqpSerializable serializable = value as IAmqpSerializable;

            if (serializable != null)
            {
                serializable.Encode(buffer);
                return;
            }

            EncodingBase encoding = GetEncoding(value);

            encoding.EncodeObject(value, false, buffer);
        }
コード例 #18
0
ファイル: Controller.cs プロジェクト: Azure/azure-amqp
 public static AmqpMessage CreateCommandMessage(IAmqpSerializable command)
 {
     AmqpValue value = new AmqpValue() { Value = command };
     return AmqpMessage.Create(value);
 }
コード例 #19
0
ファイル: AmqpMessage.cs プロジェクト: tralivali1234/IL2JS
 int GetSectionSize(IAmqpSerializable section)
 {
     return(section == null ? 0 : section.EncodeSize);
 }