Esempio n. 1
0
        protected override void ProcessResponse(Envelope envelope)
        {
            if (envelope.Message.GetType() == typeof(LoginRequest))
            {
                LoginRequest received = (LoginRequest)envelope.Message;
                ProcessInfo  newInfo  = new ProcessInfo
                {
                    EndPoint = envelope.Address,
                    Label    = received.ProcessLabel,
                    Type     = received.ProcessType
                };
                ProcessInfo procResponse = OnLoginUpdated?.Invoke(newInfo);

                LoginReply reply = new LoginReply(envelope.ConvId)
                {
                    Success = (procResponse != null && procResponse?.Status == ProcessInfo.StatusCode.Registered)
                };
                reply.Note        = (reply.Success) ? "Granted!" : "Bad request";
                reply.ProcessInfo = procResponse;

                Envelope env = new Envelope(envelope.Address, reply);
                SendMessage(env);
            }
            else
            {
                Logger.Info("Received unexpected message: " + envelope.Message);
            }

            WaitingForReply      = false;
            AllowInboundMessages = false;
        }
Esempio n. 2
0
 protected override void ProcessResponse(Envelope envelope)
 {
     if (envelope?.Message != null && envelope.Message?.GetType() == typeof(LoginReply))
     {
         LoginReply replyMessage = (LoginReply)envelope.Message;
         Logger.Info("Received Login response: " + replyMessage.Note);
         OnLoginUpdated?.Invoke(ProcessInfo.DeepCopy(replyMessage.ProcessInfo));
         WaitingForReply = false;
     }
     else if (envelope != null)
     {
         Logger.Info("Received unexpected message: " + envelope.Message?.ToString());
     }
     else
     {
         Logger.Info("Received completely null envelope");
     }
 }