public override void Execute() { //wire up events InputChannel.OnOpen += Input_OnOpen; InputChannel.OnReceive += Input_OnReceive; InputChannel.OnError += Input_OnError; InputChannel.OnClose += Input_OnClose; OutputChannel.OnClose += Output_OnClose; OutputChannel.OnError += Output_OnError; OutputChannel.OnReceive += Output_OnReceive; OutputChannel.OnOpen += Output_OnOpen; try { InputChannel.OpenAsync().GetAwaiter(); OutputChannel.OpenAsync().GetAwaiter(); } catch (Exception ex) { OnPipelineError?.Invoke(this, new PipelineErrorEventArgs(Id, ex)); } }
private void Input_OnClose(object sender, ChannelCloseEventArgs e) { logger?.LogWarning("Input channel closed."); OnPipelineError?.Invoke(this, new PipelineErrorEventArgs(this.Id)); }