protected void Send(BytePacket <T> packet) { OutgoingMessages.Enqueue(new NetworkMessage <T> { Packet = packet }); LatestSendTimestamp = DateTime.Now; }
public void AddMessage(ICommand message) { lock (queueLock) { OutgoingMessages.Enqueue(message); } }
protected void Send(BytePacket <T> packet, IPEndPoint target) { OutgoingMessages.Enqueue(new NetworkMessage <T> { Packet = packet, TargetAddress = target, }); LatestSendTimestamp = DateTime.Now; }
/// <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"); }
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); }
/// <summary> /// Adds a new message to the queue /// </summary> /// <param name="message"></param> public static void QueueOutgoingMessage(IMessageBase message) { OutgoingMessages.Enqueue(message); }