public void SendMessage(Client client, IOutboundMessage outboundMessage) { var generatedMessage = _messageProcessor.GenerateMessage(outboundMessage); if (outboundMessage.Multiline) { // Don't send the message yet - store it in the message buffer client.MessageBuffer += generatedMessage; } else { if (!string.IsNullOrEmpty(client.MessageBuffer)) { generatedMessage = client.MessageBuffer + generatedMessage; client.MessageBuffer = string.Empty; } _networkMessager.SendMessage(client.TcpClient, client.CancellationToken, generatedMessage); } }
public AwaitingAuthState(Client client, IMessager messager, IMimeParser mimeParser) : base(client, messager, mimeParser) { }
public AwaitingRcptCommandState(Client client, IMessager messager, IMimeParser mimeParser) : base(client, messager, mimeParser) { }
public void DisconnectClient(Client client) { _networkMessager.DisconnectClient(client.TcpClient); }
private void OnClientConnected(object sender, ClientConnectedEventArgs args) { var client = new Client(args.Client, args.CancellationToken, _messager, _mimeParser); _clients.Add(client.ClientIdentifier, client); }
private void AuthRequired(Client client, string s) { _messager.SendMessage(client, new OutboundMessageAuthRequired()); }
protected AbstractClientState(Client client, IMessager messager, IMimeParser mimeParser) { _client = client; _messager = messager; _mimeParser = mimeParser; }