예제 #1
0
        protected ModbusTransport(IPipeResource pipeResource, IModbusLogger logger, ITransactionIdProvider transactionIdProvider)
        {
            PipeResource = pipeResource ?? throw new ArgumentNullException(nameof(pipeResource));
            Logger       = logger ?? throw new ArgumentNullException(nameof(logger));

            this.transactionIdProvider = transactionIdProvider ?? throw new ArgumentNullException(nameof(transactionIdProvider));

            semaphoreSlim        = new SemaphoreSlim(1, 1);
            disposingTokenSource = new CancellationTokenSource();
        }
예제 #2
0
        protected ModbusTransport(IPipeResource pipeResource, ITransactionIdProvider transactionIdProvider, ILogger <IModbusMaster> logger)
        {
            PipeResource = pipeResource;
            Logger       = logger;

            this.transactionIdProvider = transactionIdProvider;

            semaphoreSlim        = new SemaphoreSlim(1, 1);
            disposingTokenSource = new CancellationTokenSource();
        }
예제 #3
0
 internal ModbusTcpTransport(IPipeResource pipeResource, ITransactionIdProvider transactionIdProvider, ILogger <IModbusMaster> logger)
     : base(pipeResource, transactionIdProvider, logger)
 {
 }
예제 #4
0
 public ModbusRtuOverTcpTransport(IPipeResource pipeResource, ITransactionIdProvider transactionIdProvider, ICrcCalculator crcCalculator, ILogger <IModbusMaster> logger)
     : base(pipeResource, transactionIdProvider, logger)
 {
     this.crcCalculator = crcCalculator;
 }
예제 #5
0
 internal ModbusIpTransport(IPipeResource pipeResource, IModbusLogger logger, ITransactionIdProvider transactionIdProvider)
     : base(pipeResource, logger, transactionIdProvider)
 {
 }