public void Send <T>(T message, Inkton.Nest.Model.Nest nest,
                             Type type = null, string correlationId = null, int cushion = -1)
        {
            string payload = JsonConvert.SerializeObject(message);

            Send(Encoding.UTF8.GetBytes(payload), nest,
                 type, correlationId, cushion);
        }
        public void Send(byte[] message, Inkton.Nest.Model.Nest nest,
                         Type type = null, string correlationId = null, int cushion = -1)
        {
            string routingKey = "#";

            if (nest != null)
            {
                routingKey = GetQueue(nest, cushion);
            }

            _lastCorrelationId = DefaultChannel
                                 .Publish(routingKey, message, type, correlationId);
        }
        private string GetQueue(
            Inkton.Nest.Model.Nest nest, int cushion = -1)
        {
            string routingKey = Name + "." + nest.Tag;

            if (cushion > 0)
            {
                routingKey += "." + cushion.ToString();
            }
            else
            {
                routingKey += ".*";
            }

            return(routingKey);
        }
 public NesterQueueRPCClient CreateRPCEndpoint(
     Inkton.Nest.Model.Nest nest, int cushion = -1)
 {
     return(new NesterQueueRPCClient(Name,
                                     GetQueue(nest, cushion), _connection));
 }