public void TestStandardTypes()
 {
     NetworkBinaryWriter w = Writer();
     Hashtable t = new Hashtable();
     t["string"] = "Hello";
     t["int"] = 1234;
     t["decimal"] = 12.34m;
     t["timestamp"] = new AmqpTimestamp(0);
     Hashtable t2 = new Hashtable();
     t["fieldtable"] = t2;
     t2["test"] = "test";
     IList array = new ArrayList();
     array.Add("longstring");
     array.Add(1234);
     t["fieldarray"] = array;
     WireFormatting.WriteTable(w, t);
     IDictionary nt = (IDictionary)WireFormatting.ReadTable(Reader(Contents(w)));
     Assert.AreEqual(Encoding.UTF8.GetBytes("Hello"), nt["string"]);
     Assert.AreEqual(1234, nt["int"]);
     Assert.AreEqual(12.34m, nt["decimal"]);
     Assert.AreEqual(0, ((AmqpTimestamp)nt["timestamp"]).UnixTime);
     IDictionary nt2 = (IDictionary)nt["fieldtable"];
     Assert.AreEqual(Encoding.UTF8.GetBytes("test"), nt2["test"]);
     IList narray = (IList)nt["fieldarray"];
     Assert.AreEqual(Encoding.UTF8.GetBytes("longstring"), narray[0]);
     Assert.AreEqual(1234, narray[1]);
 }
示例#2
0
 public void WriteTimestamp(AmqpTimestamp val)
 {
     WireFormatting.WriteTimestamp(BaseWriter, val);
 }
示例#3
0
 /// <summary>
 /// Clear the <see cref="P:RabbitMQ.Client.IBasicProperties.Timestamp" /> property.
 /// </summary>
 public void ClearTimestamp()
 {
     Timestamp = new AmqpTimestamp(0);
 }
示例#4
0
 public void WriteTimestamp(AmqpTimestamp val)
 {
     Offset += WireFormatting.WriteTimestamp(Span, val);
 }
示例#5
0
        public static DateTime AmqpTimestampToDateTime(AmqpTimestamp ats)
        {
            DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0);

            return(epoch.AddSeconds(ats.UnixTime).ToLocalTime());
        }
 public override void ReadArgumentsFrom(RabbitMQ.Client.Impl.MethodArgumentReader reader)
 {
     m_ticket = reader.ReadShort();
       m_destination = reader.ReadShortstr();
       m_redelivered = reader.ReadBit();
       m_immediate = reader.ReadBit();
       m_ttl = reader.ReadLonglong();
       m_priority = reader.ReadOctet();
       m_timestamp = reader.ReadTimestamp();
       m_deliveryMode = reader.ReadOctet();
       m_expiration = reader.ReadTimestamp();
       m_exchange = reader.ReadShortstr();
       m_routingKey = reader.ReadShortstr();
       m_messageId = reader.ReadShortstr();
       m_correlationId = reader.ReadShortstr();
       m_replyTo = reader.ReadShortstr();
       m_contentType = reader.ReadShortstr();
       m_contentEncoding = reader.ReadShortstr();
       m_userId = reader.ReadShortstr();
       m_appId = reader.ReadShortstr();
       m_transactionId = reader.ReadShortstr();
       m_securityToken = reader.ReadLongstr();
       m_applicationHeaders = reader.ReadTable();
       m_body = reader.ReadContent();
 }
 internal static DateTime TimestampNowLocal(AmqpTimestamp timestamp) => TimestampNowUtc(timestamp).ToLocalTime();
示例#8
0
 public static void WriteTimestamp(NetworkBinaryWriter writer, AmqpTimestamp val)
 {
     // 0-9 is afaict silent on the signedness of the timestamp.
     // See also MethodArgumentReader.ReadTimestamp and AmqpTimestamp itself
     WriteLonglong(writer, (ulong)val.UnixTime);
 }
示例#9
0
 public void ClearTimestamp() => Timestamp = new AmqpTimestamp(long.MinValue);
示例#10
0
 public static DateTime DateTime(this AmqpTimestamp amqptimestamp)
 {
     return(FromUNIX(amqptimestamp.UnixTime));
 }
 public void WriteTimestamp(AmqpTimestamp ts)
 {
     _writer.Write((ulong)ts.UnixTime);
 }
示例#12
0
 public void WriteTimestamp(AmqpTimestamp val)
 {
     BitFlush();
     WireFormatting.WriteTimestamp(m_writer, val);
 }
示例#13
0
 public void WriteTimestamp(AmqpTimestamp val)
 {
     BitFlush();
     Offset += WireFormatting.WriteTimestamp(Memory.Slice(Offset), val);
 }
示例#14
0
 public void WriteTimestamp(AmqpTimestamp ts)
 {
     _writer.Write((ulong)ts.UnixTime);
 }
 public static void WriteTimestamp(NetworkBinaryWriter writer, AmqpTimestamp val)
 {
     // 0-9 is afaict silent on the signedness of the timestamp.
     // See also MethodArgumentReader.ReadTimestamp and AmqpTimestamp itself
     WriteLonglong(writer, (ulong)val.UnixTime);
 }
示例#16
0
 public static int WriteTimestamp(Span <byte> span, AmqpTimestamp val)
 {
     // 0-9 is afaict silent on the signedness of the timestamp.
     // See also MethodArgumentReader.ReadTimestamp and AmqpTimestamp itself
     return(WriteLonglong(span, (ulong)val.UnixTime));
 }
 public MessageTransfer(
     ushort initTicket,
     string initDestination,
     bool initRedelivered,
     bool initImmediate,
     ulong initTtl,
     byte initPriority,
     AmqpTimestamp initTimestamp,
     byte initDeliveryMode,
     AmqpTimestamp initExpiration,
     string initExchange,
     string initRoutingKey,
     string initMessageId,
     string initCorrelationId,
     string initReplyTo,
     string initContentType,
     string initContentEncoding,
     string initUserId,
     string initAppId,
     string initTransactionId,
     byte[] initSecurityToken,
     System.Collections.IDictionary initApplicationHeaders,
     byte[] initBody)
 {
     m_ticket = initTicket;
       m_destination = initDestination;
       m_redelivered = initRedelivered;
       m_immediate = initImmediate;
       m_ttl = initTtl;
       m_priority = initPriority;
       m_timestamp = initTimestamp;
       m_deliveryMode = initDeliveryMode;
       m_expiration = initExpiration;
       m_exchange = initExchange;
       m_routingKey = initRoutingKey;
       m_messageId = initMessageId;
       m_correlationId = initCorrelationId;
       m_replyTo = initReplyTo;
       m_contentType = initContentType;
       m_contentEncoding = initContentEncoding;
       m_userId = initUserId;
       m_appId = initAppId;
       m_transactionId = initTransactionId;
       m_securityToken = initSecurityToken;
       m_applicationHeaders = initApplicationHeaders;
       m_body = initBody;
 }
示例#18
0
 public static DateTime ToDateTime(this AmqpTimestamp timestamp)
 {
     return(UnixEpoch.AddSeconds(timestamp.UnixTime));
 }
 public void WriteTimestamp(AmqpTimestamp val)
 {
     BitFlush();
     WireFormatting.WriteTimestamp(BaseWriter, val);
 }
 internal static DateTime TimestampNowUtc(AmqpTimestamp timestamp) => new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc).AddSeconds(timestamp.UnixTime);