protected virtual void ReceiveAsync(object sender, SocketAsyncEventArgs e) { if (e.BytesTransferred > 0) { Mithril.Buffer buffer = new Mithril.Buffer(e.Buffer); buffer.Set(e.BytesTransferred); if (EndPointIds.ContainsKey(e.RemoteEndPoint)) { Connections[EndPointIds[e.RemoteEndPoint]].OnReceive(buffer); } } Handle.Set(); }