readFromClient method

  1. @override
Future<T> readFromClient(
  1. ModbusClient client,
  2. Register registerType,
  3. int address
)
override

Implementation

@override
Future<T> readFromClient(
  ModbusClient client,
  Register registerType,
  int address,
) {
  assert(canRead(T, registerType, address));

  final ReadRegister<Uint16List> readRegister = () {
    switch (registerType) {
      case Register.inputRegister:
        return client.readInputRegisters;
      case Register.holdingRegister:
        return client.readHoldingRegisters;
      default:
        throw ArgumentError(
          '$registerType is not supported by $T converter $this',
        );
    }
  }();

  return read(
    (amount) {
      final future = readRegister(address, amount);
      address += amount;
      return future;
    },
  );
}