public static T TypedDeserialize <T>(this IRabbitSerializer source, byte[] data, IBasicProperties properties) { properties.Type.AssertNotNullOrEmpty("The message property 'Type' must have a qualified type name"); var expectedType = Type.GetType(properties.Type); return((T)source.Deserialize(data, expectedType, properties)); }
public RpcResponder(IModel model, IRabbitSerializer serializer, Func <MessageEnvelope, IMessageAck, MessageEnvelope> onRespond, bool shouldSerializeExceptions) { _model = model; _serializer = serializer; _onRespond = onRespond; _shouldSerializeExceptions = shouldSerializeExceptions; }
public RpcResponder(IModel model, IRabbitSerializer serializer, Func<MessageEnvelope, IMessageAck, MessageEnvelope> onRespond, bool shouldSerializeExceptions) { _model = model; _serializer = serializer; _onRespond = onRespond; _shouldSerializeExceptions = shouldSerializeExceptions; }
public RabbitChannel(IModel model, IRabbitSerializer defaultSerializer) { _model = model; _defaultSerializer = defaultSerializer; _defaultExchange = new RabbitExchange(_model, _defaultSerializer, name: string.Empty, canDestroy: false, options: new ExchangeOptions()); _model.BasicReturn += ModelOnBasicReturn; }
public RabbitExchange(IModel model, IRabbitSerializer serializer, string name, bool canDestroy, ExchangeOptions options) { this.Name = name; _model = model; _defaultSerializer = serializer; _canDestroy = canDestroy; _options = options; _isDefaultExchange = name == string.Empty; _rpcHelper = new RpcHelper(_model, this.Name, serializer); }
public RabbitQueue(IModel model, IRabbitSerializer serializer, QueueDeclareOk result, QueueOptions queueOptions) { _model = model; _defaultSerializer = serializer ?? queueOptions.Serializer; _queueOptions = queueOptions; this.Name = result.QueueName; this.ConsumerCount = result.ConsumerCount; this.MessageCount = result.MessageCount; }
public RpcHelper(IModel model, string exchange, IRabbitSerializer serializer) { _model = model; _exchange = exchange; _serializer = serializer; _routing2RetQueue = new Dictionary <string, string>(StringComparer.Ordinal); _waits = new ConcurrentDictionary <string, AutoResetEvent>(StringComparer.Ordinal); _replyData = new ConcurrentDictionary <string, MessageEnvelope>(StringComparer.Ordinal); this.ConsumerCancelled += (sender, args) => { LogAdapter.LogDebug("RpcHelper", "Consumer cancelled: " + args.ConsumerTag); }; }
public static byte[] TypedSerialize <T>(this IRabbitSerializer source, T instance, IBasicProperties properties) { if (properties.Type == null) { var msgType = instance.GetType(); if (Castle.Core.ProxyServices.IsDynamicProxy(instance.GetType())) { throw new Exception("Serialization of a proxy type will be really bad for your sanity"); } var fullname = msgType.AssemblyQualifiedName; var sndComma = fullname.IndexOf("Version=", msgType.FullName.Length, StringComparison.Ordinal); properties.Type = fullname.Substring(0, sndComma - 2);; } return(source.Serialize(instance, properties)); }