Exemple #1
0
        // sends control message to the server
        private void SendControlMessage(ControlMessageType messageType)
        {
            if (controlFrameServer != null && controlFrameServer.IsActive())
            {
                ulong          ulTimeNow = (ulong)System.DateTime.Now.Ticks;
                NetMessageData msg       = new NetMessageData(NetMessageType.Control, FrameEncodeType.Raw, 0, 0, ulTimeNow);

                byte[] btMsgData = new byte[1];
                btMsgData[0] = (byte)messageType;
                msg.SetData(btMsgData);

                controlFrameServer.SendMessageToAllConnections(msg);
                //Debug.Log("Sending ctrl message " + messageType);
            }
        }
Exemple #2
0
        // control frame received
        private void ControlFrameReceived(object state, ReceivedMessageEventArgs args)
        {
            if (sensorData == null)
            {
                return;
            }

            try
            {
                if (args.message.frameData != null && args.message.frameData.Length > 0)
                {
                    ControlMessageType ctrlMsgType = (ControlMessageType)args.message.frameData[0];

                    switch (ctrlMsgType)
                    {
                    case ControlMessageType.GetSensorData:
                        CtrlSendGetSensorData();
                        break;

                    case ControlMessageType.KeepAlive:
                        // do nothing
                        break;

                    case ControlMessageType.Disconnect:
                        // do nothing for now
                        break;

                    case ControlMessageType.GetDST:
                        CtrlSendGetDST();
                        break;

                    case ControlMessageType.GetCST:
                        CtrlSendGetCST();
                        break;

                    default:
                        throw new System.Exception("Invalid control message: " + args.message.frameData[0]);
                    }
                }
            }
            catch (System.Exception ex)
            {
                Debug.LogException(ex);
            }
        }
Exemple #3
0
        public async Task RouteControlMessageAsync(ControlMessage msg, ControlMessageType type)
        {
            var controlMessage = new Contracts.DTO.ControlMessage {
                Data        = msg.Data,
                Timestamp   = Timestamp.FromDateTime(msg.Timestamp),
                SensorID    = msg.SensorId.ToString(),
                Destination = Convert.ToInt32(type)
            };

            var client = new EgressRouter.EgressRouterClient(this.m_channel);
            var result = await client.EnqueueControlMessageAsync(controlMessage, Metadata.Empty);

            if (result.Count < 1)
            {
                var guid = new Guid(result.ResponseID.Span.ToArray());
                this.m_logger.LogWarning("Unable to route actuator message with response ID: {guid}.", guid);
            }
        }
 public HideControlMessage(ControlMessageType type)
 {
     Type = type;
 }
 public ControlMessage(string sender, ulong sequenceNumber, ControlMessageType type) : base(sender, sequenceNumber)
 {
     Type = type;
 }
 public CommandMessage(ControlMessageType messageType, PeerMessage messageToSend)
 {
     this.messageType   = messageType;
     this.messageToSend = messageToSend;
 }
 public CommandMessage(ControlMessageType messageType,
                       DownloadingFile targetFile, PeerConnection targetConnection)
 {
     base.targetConnection = targetConnection;
     base.targetFile       = targetFile;
 }
 public ShowControlMessage(ControlMessageType type)
 {
     Type = type;
 }