public PipeTransmit(IPubSubMessage message, PipeMessageType pipeMessageType, int millisecondsTimeout = 5_000) { Timeout = millisecondsTimeout; var serializedMessage = JsonConvert.SerializeObject(message); Packet = $"{(char)pipeMessageType}\t{Id}\t{message.GetType().AssemblyQualifiedName}\t{serializedMessage}"; }
internal Task <bool> SendMessage(string message, PipeMessageType pipeMessageType) { if (!IsConnected) { throw new Exception("Pipe is not connected"); } var transmit = new PipeTransmit(message, pipeMessageType); _transmits.TryAdd(transmit.Id, transmit); SendTransmit(transmit); return(transmit.Tcs.Task); }
public PipeTransmit(string message, PipeMessageType pipeMessageType, int millisecondsTimeout = 5_000) { Timeout = millisecondsTimeout; Packet = $"{(char)pipeMessageType}\t{Id}\t{message}"; }