Example #1
0
        protected virtual void OnOnDiscovery(ServiceDiscoveryEventArgs e)
        {
            if (OnDiscovery != null)
            {
                var ls = OnDiscovery.GetInvocationList().Cast <EventHandler <ServiceDiscoveryEventArgs> >();//.Where(p => p.Invoke(this, e));

                foreach (var ev in ls)
                {
                    ev.Invoke(this, e);
                }
            }
        }
        public virtual void DoReceiveMessage(ServiceDiscoveryEventArgs e)
        {
            if (OnDiscovering != null)
            {
                var ls = OnDiscovering.GetInvocationList()
                         .Cast <EventHandler <DiscoveringEventArgs <TOut> > >(); //.Where(p => p.Invoke(this, e));

                var msgOutArgs = new DiscoveringEventArgs <TOut>(e.MessageBuffer, e.RemoteEndPoint);

                if (msgOutArgs.Message.Identity == Identity)
                {
                    //this message from this self process.
                }
                else
                {
                    foreach (var ev in ls)
                    {
                        ev.Invoke(this, msgOutArgs);
                    }
                }
            }
        }
 private void _receiver_OnDiscovery(object sender, ServiceDiscoveryEventArgs e)
 {
     DoReceiveMessage(e);
 }