internal Properties(Amqp.Message innerMessage) { _innerProperties = innerMessage.Properties ??= new Amqp.Framing.Properties(); }
private static IMessage CreateBytesMessage(MessageConsumer consumer, Amqp.Message message) { IBytesMessageCloak cloak = new AMQPBytesMessageCloak(consumer, message); return(new BytesMessage(cloak)); }
private static IMessage CreateFromMessageBody(MessageConsumer consumer, Amqp.Message message) { IMessage msg = null; object body = message.Body; if (body == null) { if (IsContentType(SymbolUtil.SERIALIZED_JAVA_OBJECT_CONTENT_TYPE, message)) { msg = CreateObjectMessage(consumer, message); } else if (IsContentType(SymbolUtil.OCTET_STREAM_CONTENT_TYPE, message) || IsContentType(null, message)) { msg = CreateBytesMessage(consumer, message); } else { Symbol contentType = GetContentType(message); if (contentType != null) { msg = CreateTextMessage(consumer, message); } else { msg = CreateMessage(consumer, message); } } } else if (message.BodySection is Data) { if (IsContentType(SymbolUtil.OCTET_STREAM_CONTENT_TYPE, message) || IsContentType(null, message)) { msg = CreateBytesMessage(consumer, message); } else if (IsContentType(SymbolUtil.SERIALIZED_JAVA_OBJECT_CONTENT_TYPE, message)) { msg = CreateObjectMessage(consumer, message); } else { Symbol contentType = GetContentType(message); if (contentType != null) { msg = CreateTextMessage(consumer, message); } else { msg = CreateBytesMessage(consumer, message); } } } else if (message.BodySection is AmqpSequence) { msg = CreateObjectMessage(consumer, message); } else if (body is string) { msg = CreateTextMessage(consumer, message); } else if (body is byte[]) { msg = CreateBytesMessage(consumer, message); } else { msg = CreateObjectMessage(consumer, message); } return(msg); }
private static IMessage CreateMapMessage(MessageConsumer consumer, Amqp.Message message) { IMapMessageCloak cloak = new AMQPMapMessageCloak(consumer, message); return(new MapMessage(cloak)); }
private static IMessage CreateObjectMessage(MessageConsumer consumer, Amqp.Message message) { IObjectMessageCloak cloak = new AMQPObjectMessageCloak(consumer, message); return(new ObjectMessage(cloak)); }
private static IMessage CreateStreamMessage(MessageConsumer consumer, Amqp.Message message) { IStreamMessageCloak cloak = new AMQPStreamMessageCloak(consumer, message); return(new StreamMessage(cloak)); }
private static IMessage CreateTextMessage(MessageConsumer consumer, Amqp.Message message) { ITextMessageCloak cloak = new AMQPTextMessageCloak(consumer, message); return(new TextMessage(cloak)); }
private static IMessage CreateFromMessageAnnontations(MessageConsumer consumer, Amqp.Message message) { IMessage msg = null; object objVal = message.MessageAnnotations[SymbolUtil.JMSX_OPT_MSG_TYPE]; if (objVal != null && objVal is SByte) { byte type = Convert.ToByte(objVal); switch (type) { case MessageSupport.JMS_TYPE_MSG: msg = CreateMessage(consumer, message); break; case MessageSupport.JMS_TYPE_BYTE: msg = CreateBytesMessage(consumer, message); break; case MessageSupport.JMS_TYPE_TXT: msg = CreateTextMessage(consumer, message); break; case MessageSupport.JMS_TYPE_OBJ: msg = CreateObjectMessage(consumer, message); break; case MessageSupport.JMS_TYPE_STRM: msg = CreateStreamMessage(consumer, message); break; case MessageSupport.JMS_TYPE_MAP: msg = CreateMapMessage(consumer, message); break; default: throw new NMSException("Unsupported Msg Annontation type: " + type); } } return(msg); }