Esempio n. 1
0
 public IList <Peer> GetPeersHandlingMessage(MessageBinding messageBinding)
 {
     return(_peerRepository.GetPeers()
            .Where(peer => peer.Subscriptions != null && peer.Subscriptions.Any(x => x.MessageTypeId == messageBinding.MessageTypeId && x.Matches(messageBinding.RoutingKey)))
            .Select(peerDesc => peerDesc.Peer)
            .ToList());
 }
Esempio n. 2
0
        public IList <Peer> GetPeersHandlingMessage(MessageBinding messageBinding)
        {
            var subscriptionList = _globalSubscriptionsIndex.GetValueOrDefault(messageBinding.MessageTypeId);

            if (subscriptionList == null)
            {
                return(Array.Empty <Peer>());
            }

            return(subscriptionList.GetPeers(messageBinding.RoutingKey));
        }
Esempio n. 3
0
 public IList <Peer> GetPeersHandlingMessage(IMessage message)
 {
     return(GetPeersHandlingMessage(MessageBinding.FromMessage(message)));
 }
Esempio n. 4
0
 public bool Matches(MessageBinding messageBinding)
 {
     return(messageBinding.MessageTypeId == MessageTypeId && Matches(messageBinding.RoutingKey));
 }