public async Task ShutdownPlugin(string pluginName) { if (!_plugins.ContainsKey(pluginName)) { throw new PluginNotRegisteredException($"Plugin {pluginName} is not registered"); } var channel = new Channel(BBIConstants.PLUGIN_HOST_IP, _plugins[pluginName], ChannelCredentials.Insecure); var pluginClient = new CIPlugin.CIPluginClient(channel); await pluginClient.ShutdownAsync(new Empty()); await channel.ShutdownAsync(); }
public async Task <CIResponse> ContactPlugin(string pluginName, CIRequest ciRequest) { if (!_plugins.ContainsKey(pluginName)) { throw new PluginNotRegisteredException($"Plugin {pluginName} is not registered"); } var channel = new Channel(BBIConstants.PLUGIN_HOST_IP, _plugins[pluginName], ChannelCredentials.Insecure); var pluginClient = new CIPlugin.CIPluginClient(channel); var ciResponse = await pluginClient.GetCurrentStateAsync(ciRequest); await channel.ShutdownAsync(); return(ciResponse); }