public IEnumerator <BufferState> GetEnumerator() { int count = m_Count; for (int i = 0; i < count; i++) { yield return(new BufferState(m_BufferManager.GetBuffer(m_BufferSize))); } }
public IEnumerator <SaeState> GetEnumerator() { int count = m_Count; for (int i = 0; i < count; i++) { var buffer = m_BufferManager.GetBuffer(m_BufferSize); var sae = new SocketAsyncEventArgs(); sae.SetBuffer(buffer, 0, m_BufferSize); var saeState = new SaeState(sae); yield return(saeState); } }
public void AddConnection(Connection connection) { var character = characterManager.OwnCharacter; connectComplete.WaitOne(); clientConnectingHandle.Reset(); connection.Closed += delegate { OnClientDisconnect(connection); }; connection.MessageReceived += OnClientMessage; connection.Send(Helpers.CreateServerCommand(ServerCommandType.IDN, new ServerIdn { character = character.Name })); foreach (var message in introMessages) { connection.Send(message); } if (disconnectedStatus != null && connections.Count == 1) { SetStatus(customStatus ?? new ClientSta { status = StatusEnum.Online }); } foreach (var message in characterManager.GetJoinCommands()) { connection.Send(message); } connection.Send(Helpers.CreateServerCommand(ServerCommandType.NLN, new ServerNln { identity = character.Name, status = character.Status, gender = character.Gender })); foreach (var message in channelManager.GetJoinCommands()) { connection.Send(message); } foreach (var message in buffer.GetBuffer()) { connection.Send(message); } connections.TryAdd(connection, connection); connection.SetJoinComplete(); clientConnectingHandle.Set(); }