/// <summary> /// Initializes a new instance of the <see cref="InterceptedEventArgs"/> class. /// </summary> /// <param name="continuation">The <see cref="Func{TResult}"/> of type <see cref="Task"/> that will be invoked when <see cref="ContinueRead"/> is called.</param> /// <param name="step">The current count/step/order from which this data was intercepted.</param> /// <param name="packet">The intercepted data to read/write from.</param> public InterceptedEventArgs(Func<Task> continuation, int step, HMessage packet) { Executions = new List<HMessage>(); Continuation = continuation; IsAsyncCapable = (Continuation != null); Step = step; Packet = packet; Replacement = new HMessage( packet.ToBytes(), packet.Destination); }
public Task<int> SendAsync(HMessage packet) { return SendAsync(packet.ToBytes()); }
public Task<int> SendToServerAsync(byte[] data) { var outMessage = new HMessage(1, data); return _externalContractor.SendAsync(outMessage.ToBytes()); }
public Task<int> SendToClientAsync(ushort header, params object[] chunks) { var inMessage = new HMessage(0, HMessage.Construct(header, chunks)); return _externalContractor.SendAsync(inMessage.ToBytes()); }
public Task<int> SendToClientAsync(byte[] data) { var inMessage = new HMessage(0, data); return _externalContractor.SendAsync(inMessage.ToBytes()); }
public Task<int> SendToServerAsync(ushort header, params object[] chunks) { var outMessage = new HMessage(1, HMessage.Construct(header, chunks)); return _externalContractor.SendAsync(outMessage.ToBytes()); }