Exemple #1
0
        public void StopMethod(string handlerId)
        {
            var             stopCommand = new StopChannelMethodCommand(handlerId);
            IChannelMessage message;

            try
            {
                StopCommandHandler.Handle(stopCommand);
                message = new ChannelMessage()
                {
                    Success = true,
                    Message = "ChannelMethod stopped"
                };
            }
            catch (HandlerNotFoundException)
            {
                message = new ChannelMessage
                {
                    Success = false,
                    Message = "ChannelMethod Handler not found"
                };
            }
            _logger.LogInfo(message);
            ChannelMessageWriter.Write(message, Context.Response);
        }
Exemple #2
0
        public void GetHandlerHistory(string handlerId)
        {
            var             queryHistory = new HandlerHistoryQuery(handlerId);
            IChannelMessage message;

            try
            {
                var result = HistoryQueryHandler.Handle(queryHistory);
                message = new ChannelMessage()
                {
                    Success = true,
                    Message = string.Empty,
                    Output  = result
                };
            }
            catch (HandlerNotFoundException)
            {
                message = new ChannelMessage
                {
                    Success = false,
                    Message = "ChannelMethod Handler not found"
                };
            }
            _logger.LogInfo(message);
            ChannelMessageWriter.Write(message, Context.Response);
        }
Exemple #3
0
        public IConnection Create(string connectionId, IChannelStream stream)
        {
            var jsonSerialiser = new TinyJsonSerializer();
            var taskLauncher   = new TaskLauncherNet35();

            var channelMessageStream     = new ChannelMessageStream(stream);
            var channelMessageSerializer = new ChannelMessageSerializer();
            var channelMessageWriter     = new ChannelMessageWriter(channelMessageStream, channelMessageSerializer);

            var rpcMessageEncoder = new RpcMessageEncoder(jsonSerialiser);
            var rpcMessageWriter  = new RpcMessageWriter(channelMessageWriter, rpcMessageEncoder);
            var rpcMessageBroker  = new RpcMessageBroker(rpcMessageWriter);
            var delegateProvider  = new DuplexDelegateProvider(m_DelegateCollection, rpcMessageBroker);
            var rpcRequestHandler = new RpcRequestHandler(delegateProvider, jsonSerialiser);

            var rpcResponseMessageHandler = new RpcResponseChannelMessageHandler(rpcMessageBroker, rpcMessageEncoder);
            var rpcRequestMessageHandler  = new RpcRequestChannelMessageHandler(rpcRequestHandler, rpcMessageEncoder, rpcMessageWriter);
            var pipeline             = new ChannelMessagePipeline(new IChannelMessageHandler[] { rpcResponseMessageHandler, rpcRequestMessageHandler });
            var channelMessageReader = new ChannelMessageReader(channelMessageStream, channelMessageSerializer, pipeline, taskLauncher);

            var connection = new Connection(
                connectionId,
                rpcMessageBroker,
                disconnectReporters: new IDisconnectReporter[] { stream },
                disposeChain: new IDisposable[] { channelMessageReader, rpcMessageBroker });

            rpcRequestHandler.OwningConnection = connection;
            channelMessageReader.Start();

            return(connection);
        }
 public void WriteStringWithMessageWriter(string message)
 {
     ChannelMessageWriter.Write(new ChannelMessage()
     {
         Success = true,
         Output  = message,
         Message = message
     }, Context.Response);
 }
        public void InitPlugins(string serverPluginsPath)
        {
            var message = new ChannelMessage()
            {
                Success = true, Message = "Initialization of plugins started"
            };

            var loadPluginsCommand = new LoadPluginsCommand(serverPluginsPath);

            Task.Run(() => PluginsHandler.Handle(loadPluginsCommand));

            ChannelMessageWriter.Write(message, Context.Response);
        }
Exemple #6
0
        public void GetMethodsByState(string state)
        {
            var queryByState = new ListHandlerByStateQuery(state);
            var result       = StateQueryHandler.Handle(queryByState);
            var message      = new ChannelMessage
            {
                Success = true,
                Message = string.Empty,
                Output  = result
            };

            _logger.LogInfo(message);
            ChannelMessageWriter.Write(message, Context.Response);
        }
Exemple #7
0
        public void GetAllMethods()
        {
            var queryAll = new ListHandlersQuery();
            var result   = ListHandlersQueryHandler.Handle(queryAll);
            var message  = new ChannelMessage
            {
                Success = true,
                Message = string.Empty,
                Output  = result
            };

            _logger.LogInfo(message);
            ChannelMessageWriter.Write(message, Context.Response);
        }
        public void CreateTestClass(string id, string name)
        {
            ChannelMessage msg = new ChannelMessage()
            {
                Message = string.Empty,
                Output  = new TestClass()
                {
                    Id = id, Name = name
                },
                Success = true
            };

            ChannelMessageWriter.Write(msg, Context.Response);
        }
Exemple #9
0
        public void DictionaryTest()
        {
            var testDictionary = new Dictionary <string, string>();

            testDictionary.Add("TestKey", "TestValue");
            testDictionary.Add("TestKey1", "TestValue2");

            var msg = new ChannelMessage
            {
                Message = string.Empty,
                Output  = testDictionary,
                Success = true
            };

            ChannelMessageWriter.Write(msg, Context.Response);
        }