Пример #1
0
        public MessageQueue(IMessageFabricObserver observer, string name)
        {
            _observer = observer;
            _name     = name;

            _receivers = new MessageReceiverCollection(receivers => new RoundRobinReceiverLoadBalancer(receivers));
            _metrics   = new QueueMetric(name);

            _channel = Channel.CreateUnbounded <DeliveryContext <GrpcTransportMessage> >(new UnboundedChannelOptions
            {
                SingleWriter = false,
                SingleReader = true,
                AllowSynchronousContinuations = false
            });

            _dispatcher = Task.Run(() => StartDispatcher());
        }
 public Handle(long id, MessageReceiverCollection connectable)
 {
     Id           = id;
     _connectable = connectable;
 }