El 29/06/2017 a las 10:39, Bo Berglund escribió:

3) I also noted in the comments in TurSeriale.pas:
   "The Windows port driver does receive callbacks in chunks that
    are typically 8 bytes long.
    With ReceiveMode = rmRAW, TSeriale will simply pass this chunks
    on to the application without any processing."
Does this mean that if a single character is received it is not passed
along? My protocol is exchanging single bytes for state changes and

Hello,

I'm quite sure no, it means that the driver will try to queue 8 bytes before sending back data, but the tricky word is "try", probably after a context switch or similar the available data will be reported by the driver whichever the amount of bytes are.

Kernel to userland data pass is very expensive so drivers usually try to queue a data amount limit or a data time limit whichever it happens first.

Also forget the usual 15 bytes buffering in serial comms, it is expected that the kernel driver can buffer much more data before overflow, probably around 8 Kbs.

--

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to