Example #1
0
 public void Broadcast(IMeshNetworkMessage networkMessage)
 {
     if (_mesh.GetPeers().Count() > 1)
     {
         _mesh.Broadcast(Encoding.UTF8.GetBytes(Wrap(networkMessage)));
     }
 }
            public void Deliver(IMeshNetworkMessage networkMessage)
            {
                if (!(networkMessage is TMessage))
                    throw new ArgumentException("Message is not the correct type");

                _DeliveryAction.Invoke(networkMessage as TMessage);
            }
            public void Deliver(IMeshNetworkMessage networkMessage)
            {
                if (!(networkMessage is TMessage))
                    throw new ArgumentException("Message is not the correct type");

                if (!_DeliveryAction.IsAlive)
                    return;

                ((Action<TMessage>)_DeliveryAction.Target).Invoke(networkMessage as TMessage);
            }
            public bool ShouldAttemptDelivery(IMeshNetworkMessage networkMessage)
            {
                if (networkMessage == null)
                    return false;

                if (!(typeof(TMessage).IsAssignableFrom(networkMessage.GetType())))
                    return false;

                return _MessageFilter.Invoke(networkMessage as TMessage);
            }
            public bool ShouldAttemptDelivery(IMeshNetworkMessage networkMessage)
            {
                if (networkMessage == null)
                    return false;

                if (!(typeof(TMessage).IsAssignableFrom(networkMessage.GetType())))
                    return false;

                if (!_DeliveryAction.IsAlive)
                    return false;

                if (!_MessageFilter.IsAlive)
                    return false;

                return ((Func<TMessage, bool>)_MessageFilter.Target).Invoke(networkMessage as TMessage);
            }
 public void Deliver(IMeshNetworkMessage networkMessage, IMeshNetworkMessageSubscription subscription)
 {
     subscription.Deliver(networkMessage);
 }
 public void Handle(IMeshNetworkMessage networkMessage, Exception exception)
 {
     //default behaviour is to do nothing
 }