private IConnection OnConnection(RakNet.Packet packet, RakPeerInterface server) { logger.Trace("Connected to endpoint {0}", packet.systemAddress); IConnection c = CreateNewConnection(packet.guid, server); var ctx = new PeerConnectedContext { Connection = c }; var pconnected = _connectionHandler.PeerConnected; if (pconnected != null) { pconnected(ctx); } c = ctx.Connection; server.DeallocatePacket(packet); _handler.NewConnection(c); var action = ConnectionOpened; if (action != null) { action(c); } c.SendSystem((byte)MessageIDTypes.ID_CONNECTION_RESULT, s => s.Write(BitConverter.GetBytes(c.Id), 0, 8)); return(c); }
private IConnection OnConnection(RakNet.Packet packet, RakPeerInterface server) { logger.Trace("Connected to endpoint {0}", packet.systemAddress); IConnection c = CreateNewConnection(packet.guid, server); var ctx = new PeerConnectedContext { Connection = c }; var pconnected = _connectionHandler.PeerConnected; if(pconnected !=null) { pconnected(ctx); } c = ctx.Connection; server.DeallocatePacket(packet); _handler.NewConnection(c); var action = ConnectionOpened; if (action != null) { action(c); } c.SendSystem((byte)MessageIDTypes.ID_CONNECTION_RESULT, s => s.Write(BitConverter.GetBytes(c.Id), 0, 8)); return c; }