Esempio n. 1
0
        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}";
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 public PipeTransmit(string message, PipeMessageType pipeMessageType, int millisecondsTimeout = 5_000)
 {
     Timeout = millisecondsTimeout;
     Packet  = $"{(char)pipeMessageType}\t{Id}\t{message}";
 }