private Func <IDNP3Manager, IChannel> GetTCPClientFunctor(TimeSpan min, TimeSpan max, bool useTLS) { var flags = logLevelControl1.Filters.Flags; var retry = new ChannelRetry(min, max); if (useTLS) { var config = this.clientTLSOptionsControl.Configuration; return((IDNP3Manager manager) => manager.AddTLSClient(this.textBoxID.Text, flags, retry, textBoxHost.Text, Decimal.ToUInt16(numericUpDownPort.Value), config)); } else { return((IDNP3Manager manager) => manager.AddTCPClient(this.textBoxID.Text, flags, retry, textBoxHost.Text, Decimal.ToUInt16(numericUpDownPort.Value))); } }
private Func <IDNP3Manager, IChannel> GetSerialFunctor(TimeSpan min, TimeSpan max) { var name = this.comboBoxSerialDeviceName.Text; var baud = Decimal.ToInt32(this.numericUpDownBaud.Value); var dataBits = Decimal.ToInt32(this.numericUpDownDataBits.Value); var parity = (Parity)comboBoxParity.SelectedValue; var flow = (FlowControl)comboBoxFlowControl.SelectedValue; var stopBits = (StopBits)comboBoxStopBits.SelectedValue; var flags = logLevelControl1.Filters.Flags; var retry = new ChannelRetry(min, max); var ss = new SerialSettings(name, baud, dataBits, stopBits, parity, flow); return((IDNP3Manager manager) => manager.AddSerial(this.textBoxID.Text, flags, retry, ss)); }
/// <summary> /// Attempts to connect to data input source. /// </summary> /// <remarks> /// Derived classes should attempt connection to data input source here. Any exceptions thrown /// by this implementation will result in restart of the connection cycle. /// </remarks> protected override void AttemptConnection() { TcpClientConfig tcpConfig = m_masterConfig.client; string portName = tcpConfig.address + ":" + tcpConfig.port; TimeSpan minRetry = TimeSpan.FromMilliseconds(tcpConfig.minRetryMs); TimeSpan maxRetry = TimeSpan.FromMilliseconds(tcpConfig.maxRetryMs); ChannelRetry channelRetry = new ChannelRetry(minRetry, maxRetry); IChannelListener channelListener = new ChannelListener(state => OnStatusMessage(MessageLevel.Info, portName + " - Channel state change: " + state)); IChannel channel = s_manager.AddTCPClient(portName, tcpConfig.level, channelRetry, tcpConfig.address, tcpConfig.port, channelListener); m_channel = channel; IMaster master = channel.AddMaster(portName, m_soeHandler, DefaultMasterApplication.Instance, m_masterConfig.master); if (m_pollingInterval > TimeSpan.Zero) { master.AddClassScan(ClassField.AllClasses, m_pollingInterval, TaskConfig.Default); } master.Enable(); m_active = true; }
private Func<IDNP3Manager, IChannel> GetTCPServerFunctor(TimeSpan min, TimeSpan max, bool useTLS) { var flags = logLevelControl1.Filters.Flags; var retry = new ChannelRetry(min, max); if (useTLS) { var config = this.serverTLSOptionsControl.Configuration; return (IDNP3Manager manager) => manager.AddTLSServer(this.textBoxID.Text, flags, retry, textBoxServerHost.Text, Decimal.ToUInt16(numericUpDownServerPort.Value), config); } else { return (IDNP3Manager manager) => manager.AddTCPServer(this.textBoxID.Text, flags, retry, textBoxServerHost.Text, Decimal.ToUInt16(numericUpDownServerPort.Value)); } }
private Func<IDNP3Manager, IChannel> GetSerialFunctor(TimeSpan min, TimeSpan max) { var name = this.comboBoxSerialDeviceName.Text; var baud = Decimal.ToInt32(this.numericUpDownBaud.Value); var dataBits = Decimal.ToInt32(this.numericUpDownDataBits.Value); var parity = (Parity)comboBoxParity.SelectedValue; var flow = (FlowControl) comboBoxFlowControl.SelectedValue; var stopBits = (StopBits) comboBoxStopBits.SelectedValue; var flags = logLevelControl1.Filters.Flags; var retry = new ChannelRetry(min, max); var ss = new SerialSettings(name, baud, dataBits, stopBits, parity, flow); return (IDNP3Manager manager) => manager.AddSerial(this.textBoxID.Text, flags, retry, ss); }