send method

  1. @override
Future<ProtocolDataUnit> send(
  1. int slaveId,
  2. ProtocolDataUnit request
)
override

Send request to the remote server

Implementation

@override
Future<ProtocolDataUnit> send(int slaveId, ProtocolDataUnit request) async {
  _transactionId = (_transactionId + 1) & 0xFFFF;

  final (head, adu) = _encodeTCPFrame(_transactionId, slaveId, request);
  final aduResponse = await sendRawFrame(adu);
  final (rspHead, pdu) = _decodeTCPFrame(aduResponse);
  final response = ProtocolDataUnit(pdu[0], pdu.sublist(1));

  _verifyTCPFrame(head, rspHead, request, response);
  return response;
}