public RedisInterprocessMessageReceiver(IAppRedisConfiguration configuration,
                                         IInterprocessIdentity interprocessIdentity,
                                         IMessageDeliverer messageDeliverer, ILogger logger)
 {
     _configuration        = configuration;
     _interprocessIdentity = interprocessIdentity;
     _messageDeliverer     = messageDeliverer;
     _logger   = logger;
     _client   = new StackExchangeRedisCacheClient(new NewtonsoftSerializer(), _configuration.ToRedisConfiguration());
     _handlers = new Dictionary <Type, MessageReceivedHandler>();
 }
Exemple #2
0
        /// <summary>
        /// Constructs a server with the specified configuration that
        /// listens to the given ports.
        /// </summary>
        /// <param name="config">the configuration, or <code>null</code> for default</param>
        /// <param name="ports">the ports to bind to</param>
        public CoapServer(ICoapConfig config, params Int32[] ports)
        {
            _config    = config ?? CoapConfig.Default;
            _root      = new RootResource(this);
            _deliverer = new ServerMessageDeliverer(_config, _root);

            Resource wellKnown = new Resource(".well-known", false);

            wellKnown.Add(new DiscoveryResource(_root));
            _root.Add(wellKnown);

            foreach (Int32 port in ports)
            {
                Bind(port);
            }
        }
        public CoapServer(ICoapConfig config, IResource rootResource, System.Net.EndPoint endPoint, params int[] ports)
        {
            Config     = config ?? CoapConfig.Default;
            _root      = rootResource ?? new RootResource(this);
            _deliverer = new ServerMessageDeliverer(Config, _root);

            Resource wellKnown = new Resource(".well-known", false);

            wellKnown.Add(new DiscoveryResource(_root));
            _root.Add(wellKnown);

            _endPointSupplied = endPoint;
            foreach (int port in ports)
            {
                Bind(port);
            }
        }
Exemple #4
0
        public Client(int port)
        {
            _MessageDeliverer = _CoapServer.MessageDeliverer;
            _CoapServer.MessageDeliverer = this;
            //_EndPoint = new CoAPEndPoint(port, CoapConfig.Default);

            //_EndPoint = new CoAPEndPoint(new FlowClientSecureChannel(port), CoapConfig.Default);
            //_EndPoint = new CoAPEndPoint(new FlowChannel(port), CoapConfig.Default);

            _Channel = new FlowClientChannel(port);

            UseCertificateFile("Client.pem");

            _EndPoint = new CoAPEndPoint(_Channel, CoapConfig.Default);
            _CoapServer.AddEndPoint(_EndPoint);
            _CoapServer.Add(_SecurityResources);
            _CoapServer.Add(_ServerResources);
            _CoapServer.Add(_BootsrapComplete);
            _Root = _BootsrapComplete.Parent;
            _Timer.Interval = 30000;
            _Timer.Elapsed += new System.Timers.ElapsedEventHandler(_Timer_Elapsed);
        }
Exemple #5
0
        public Client(int port)
        {
            _MessageDeliverer            = _CoapServer.MessageDeliverer;
            _CoapServer.MessageDeliverer = this;
            //_EndPoint = new CoAPEndPoint(port, CoapConfig.Default);

            //_EndPoint = new CoAPEndPoint(new FlowClientSecureChannel(port), CoapConfig.Default);
            //_EndPoint = new CoAPEndPoint(new FlowChannel(port), CoapConfig.Default);

            _Channel = new FlowClientChannel(port);

            UseCertificateFile("Client.pem");

            _EndPoint = new CoAPEndPoint(_Channel, CoapConfig.Default);
            _CoapServer.AddEndPoint(_EndPoint);
            _CoapServer.Add(_SecurityResources);
            _CoapServer.Add(_ServerResources);
            _CoapServer.Add(_BootsrapComplete);
            _Root           = _BootsrapComplete.Parent;
            _Timer.Interval = 30000;
            _Timer.Elapsed += new System.Timers.ElapsedEventHandler(_Timer_Elapsed);
        }
        public MockMessagePump(Type[] layers, ICoapConfig configClient = null, ICoapConfig configServer = null)
        {
            if (configClient == null)
            {
                configClient = CoapConfig.Default;
            }

            if (configServer == null)
            {
                configServer = CoapConfig.Default;
            }

            ClientStack = new MockStack(layers, configClient)
            {
                StackName = "Client"
            };

            MockStack stack = new MockStack(layers, configServer)
            {
                StackName = "Server #1"
            };

            ServerStacks.Add(ServerAddress, new List <MockStack>()
            {
                stack
            });
            stack.MyEndPoint = new MockEndpoint(this, stack, ServerAddress);
            ServerStacks.Add(MulticastAddress, new List <MockStack>()
            {
                stack
            });
            MockDeliverer serverDeliverer = new MockDeliverer()
            {
                IsServer = true,
                Pump     = this
            };

            stack.MyEndPoint.MessageDeliverer = serverDeliverer;


            stack = new MockStack(layers, configServer)
            {
                StackName = "Server #2"
            };
            ServerStacks.Add(ServerAddress2, new List <MockStack>()
            {
                stack
            });
            stack.MyEndPoint = new MockEndpoint(this, stack, ServerAddress2);
            ServerStacks[MulticastAddress].Add(stack);
            serverDeliverer = new MockDeliverer()
            {
                IsServer = true,
                Pump     = this
            };
            stack.MyEndPoint.MessageDeliverer = serverDeliverer;

            ClientEndpoint  = new MockEndpoint(this, ClientStack, ClientAddress);
            ClientDeliverer = new MockDeliverer()
            {
                IsServer = false,
                Pump     = this
            };
            ClientEndpoint.MessageDeliverer = ClientDeliverer;
        }