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); }
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); }
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); }
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); }
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); }
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); }