private void OnClientAccepted(Socket socket) { var client = new CClientSocket(socket); var realClient = CreateClient(client); Logger.Write(LogLevel.Info, "[{0}] Accepted {1}", Name, client.Host); client.OnPacket += (packet) => Enqueue(() => HandlePacket(realClient, packet)); client.OnDisconnected += () => Enqueue(() => HandleDisconnect(realClient)); Enqueue(() => client.Initialize(Constants.Version)); }