예제 #1
0
        virtual internal void handle(msg.Startup startup)
        {
            log.debug($"{(uint)id & 0xffff:X4} got Startup from");

            var address = new RTAddress(s_mgr.Id, id);
            var ready   = new msg.Ready {
                address = address
            };

            s_mgr.broadcast(address, ready);
        }
예제 #2
0
        internal void handle(msg.Ready ready)
        {
            log.debug($"{(uint)id & 0xffff:X4}  got Ready from {ready.address}");

            var address = new RTAddress(s_mgr.Id, id);

            if (address != ready.address && !m_otherServices.Contains(ready.address))
            {
                log.debug($"{(uint)id & 0xffff:X4} READY adding service {ready.address}");
                m_otherServices = m_otherServices.Add(ready.address);

                var readyBack = new msg.Ready {
                    address = address
                };

                var whichService = ready.address;

                send(readyBack, whichService);

                //sendPing( address );
            }
        }