Ejemplo n.º 1
0
 protected void Send(BytePacket <T> packet)
 {
     OutgoingMessages.Enqueue(new NetworkMessage <T> {
         Packet = packet
     });
     LatestSendTimestamp = DateTime.Now;
 }
Ejemplo n.º 2
0
 public void AddMessage(ICommand message)
 {
     lock (queueLock)
     {
         OutgoingMessages.Enqueue(message);
     }
 }
Ejemplo n.º 3
0
 protected void Send(BytePacket <T> packet, IPEndPoint target)
 {
     OutgoingMessages.Enqueue(new NetworkMessage <T> {
         Packet        = packet,
         TargetAddress = target,
     });
     LatestSendTimestamp = DateTime.Now;
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Enqueue message thread safe
        /// </summary>
        /// <param name="message"></param>
        internal void AddMessageToQueue(SinricMessage message)
        {
            var payloadJson = JsonConvert.SerializeObject(message.Payload);

            message.RawPayload = new JRaw(payloadJson);

            // compute the signature using our secret key so that the service can verify authenticity
            message.Signature.Hmac = HmacSignature.Signature(payloadJson, SecretKey);

            OutgoingMessages.Enqueue(message);
            Debug.Print("Queued websocket message for sending");
        }
Ejemplo n.º 5
0
        public void SendNewState <T>(T stateEnumValue) where T : Enum
        {
            // actionVerb will be the description of the enum, ie. setContactState
            var actionVerb = SinricActionAttribute.GetActionVerb(stateEnumValue.GetType());
            var newState   = SetLocalState(stateEnumValue);

            // send a message to the server indicating new state
            var message = NewMessage(SinricPayload.MessageType.Event);

            message.Payload.SetCause(SinricCause.CauseType, SinricCause.PhysicalInteraction);
            message.Payload.SetValue(SinricValue.State, newState);
            message.Payload.Action = actionVerb;

            // queue for sending
            OutgoingMessages.Enqueue(message);
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Adds a new message to the queue
 /// </summary>
 /// <param name="message"></param>
 public static void QueueOutgoingMessage(IMessageBase message)
 {
     OutgoingMessages.Enqueue(message);
 }