public SubscriptionActor(IActorRef manager, MqttConfig mqttConfig, string topic, string alexaResponseTopic) { this.jsonSettings = new JsonSerializerSettings() { ContractResolver = new CamelCasePropertyNamesContractResolver() }; this.jsonSerializer = JsonSerializer.CreateDefault(jsonSettings); this.jsonEncoding = Encoding.UTF8; this.manager = manager; this.mqttConfig = mqttConfig; this.topic = topic; this.alexaResponseTopic = alexaResponseTopic; this.processors = new Dictionary <AloxiMessageOperation, List <IActorRef> >(); this.isSubscribed = false; Receive <MqttMessage.Received>(ReceivedReceived); Receive <MqttMessage.Publish>(ReceivedPublish); Receive <MqttMessage.PublishAlexaResponse>(ReceivedPublishAlexaResponse); Receive <MqttMessage.RegisterProcessor>(ReceivedRegisterProcessor); Receive <MqttMessage.StateConnectionClosed>(ReceivedStateConnectionClosed); Receive <MqttMessage.StateSubscribed>(ReceivedStateSubscribed); Receive <MqttMessage.StateUnsubscribed>(ReceivedStateUnsubscribed); Receive <MqttMessage.RequestState>(ReceivedRequestState); Receive <MqttMessage.RequestConnect>(ReceivedConnect); }
public static MqttClient For(MqttConfig mqttConfig) { if (String.IsNullOrWhiteSpace(mqttConfig.CaCertPath)) { return(ConstructClientDirectlyInAws(mqttConfig.Endpoint)); } return(ConstructClientBasedOnCertificate(mqttConfig.Endpoint, mqttConfig.CaCertPath, mqttConfig.ClientCertPath)); }
public ManagerActor(MqttConfig mqttConfig, string subscriptionTopic, string alexaResponseTopic) { this.subscriptionTopic = subscriptionTopic; this.alexaResponseTopic = alexaResponseTopic; this.mqttConfig = mqttConfig; this.subscriber = ActorRefs.Nobody; Receive <MqttMessage.Publish>((msg) => this.subscriber.Forward(msg)); Receive <MqttMessage.PublishAlexaResponse>((msg) => this.subscriber.Forward(msg)); Receive <MqttMessage.RegisterProcessor>((msg) => this.subscriber.Forward(msg)); Receive <MqttMessage.RequestState>((msg) => this.subscriber.Forward(msg)); }