public override async Task <Message> HandleMessage(Message msg) { IConnectionMessage cMsg = msg as IConnectionMessage; if (cMsg != null) { _clients.Add(new ReflectClient(cMsg)); } else { MessageContext context = new MessageContext(msg, this); ReadOnlyMemory <byte> dsContent = await From.SelectROMByteAsync(context); var outbounds = from c in _clients let task = c.Transmit(dsContent, _cancelSource.Token) select task; } return(msg); }
public void Send(IConnectionMessage message) { byte[] data = message.ToRawData(); byte[] header = BitConverter.GetBytes(data.Length); try { stream.Write(header, 0, header.Length); stream.Write(data, 0, data.Length); } catch (IOException ioEx) { System.Windows.Forms.MessageBox.Show(ioEx.ToString()); if (ioEx.HResult == -2147024664) { Disconnect(); } else { throw; } } }
public IConnectionMessage SendAndReceive(IConnectionMessage message) { Send(message); return Receive(); }
public IConnectionMessage SendAndReceive(IConnectionMessage message) { Send(message); return(Receive()); }
public ReflectClient(IConnectionMessage connectionMsg) { this.Message = connectionMsg; }
public void Send(IConnectionMessage message) { conn.Send(message); }