public void BroadcastPacket(IPacket packet, PacketSession exceptSession = null) { _lock.DoReadLock(() => { var targetSessions = exceptSession != null ? _sessions.Where(e => e != exceptSession) : _sessions; foreach (var session in targetSessions) { session.Send(packet); } }); }
public void EnumerateSockets(Action <IEnumerable <Socket> > actor) { _lock.DoReadLock(() => actor(_sockets.Keys)); }