EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Streamdevice discards part of message
From: "Brown, Garth via Tech-talk" <tech-talk at aps.anl.gov>
To: "Zimoch Dirk (PSI)" <dirk.zimoch at psi.ch>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Tue, 18 Oct 2022 14:20:07 +0000
Thanks, Dirk, that did the trick! I had been using "PBLM:LTU0:739:MESSAGE_PARSER.INPA PBLM:LTU0:739:STREAM_READER CP MS" to get the data from one PV to the other. I set PBLM:LTU0:739:STREAM_READER.FLNK to PBLM:LTU0:739:MESSAGE_PARSER, and change PBLM:LTU0:739:MESSAGE_PARSER.INPA from "PBLM:LTU0:739:STREAM_READER CP MS"
to "PBLM:LTU0:739:MESSAGE_PARSER.INPA PBLM:LTU0:739:STREAM_READER PP MS", and it's fixed. I wasn't even looking at that side of things.
And thanks to everyone else for ideas and suggestions.

-Garth

From: Zimoch Dirk (PSI) <dirk.zimoch at psi.ch>
Sent: Tuesday, October 18, 2022 12:46 AM
To: Brown, Garth <gwbrown at slac.stanford.edu>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: Re: Streamdevice discards part of message
 
Hello Garth,

Your record received 3 messages, processes 2 times successfully and drops the third. You can see that in the debug
output.

The first time, the record reads the value
"#3117000b0C01f42cb9690009463C0002A3500000051B000001180000000000000027420400003F4CCCCD41A0F5C34108B80042153B204480000040
400"
Then it processes. This triggers the monitor, but before CA can do anything, the record processes again.
The second time, it reads
"#31090000000000041A000004040000043BE1FE0447F95B0447FBCC04194ED004194ED004194ED0044674F05C19D3C11C19AB2F0C19AC879"
And processes again.

The third time it only receives "" and drops it and does not process because it does not match the protocol (does not
start with "MSG").

Thus the record processes twice in quick succession. As you are reading the waveform using CA, it may well be that the
first value had been overwritten by the time you get the monitor. It is not that the first part does not make it to the
record. It does not make it through the CA monitor.

CA monitors do *not* serialize quick changes of the record! They may drop any number of intermediate values. You are
only guaranteed to get the latest value of a quick series of changes.

To be sure to get every intermediate value, process them on the same IOC using DB links, not CA.

Best regards,
Dirk



On Mon, 2022-10-17 at 22:09 +0000, Brown, Garth via Tech-talk wrote:
> streamdevice R2.8.9
> asyn R4.39
> base R7.0.3.1
>
> With a line that contains the line terminator in 3 places, the part of the message before the first line terminator is
> dropped. I've tried some variations of line terminator in the protocol file and via asynRecord, with no effect or
> losing data entirely.
> It's a very simple protocol that passes pieces of a longer message along as a string/waveform to an asub record for
> reassembly and decoding. The protocol file is:
>
> InTerminator  = CR LF;
> OutTerminator = CR;
> ReplyTimeout  =  2000;
> ReadTimeout   =  10000;
> WriteTimeout  =  10000;
> ExtraInput    = Ignore;
>
> MODULE_DATA{in"MSG \$1,%s";}
>
> The PV that uses it:
> record(waveform,"$(P):STREAM_READER")
> {
> field(DESC, "Read data from module $(N)")
> field(DTYP, "stream")
> field(INP, "@p_blm.proto MODULE_DATA($(N)) $(PORT) 1")
> field(SCAN, "I/O Intr")
> field(NELM, "512")
> field(FTVL, "CHAR")
> }
>
> When I turn on asyn traceIODriver and traceIOEscape, I see the whole thing:
> 2022/10/17 14:45:38.502 ts-b912-nw06:2009 read 252
> MSG
> 3,#3117000b0C01f42cb9690009497B0002A4AF0000051B000001180000000000000027420400003F4CCCCD41A0F5C33F08B80041B5E2804480000
> 040400\r\nMSG
> 3,#31090000000000041A000004040000043BE1FE0447F4790447EAB5041398C0041398C0041398C004410180CC209384BC208D8DCC208CF6D\r\n
> \r\n
>
> But only the part between the first and seconds \r\n's makes it to the waveform record:
> >camonitor PBLM:LTU0:739:STREAM_READER -S
> PBLM:LTU0:739:STREAM_READER 2022-10-17 14:48:45.883766
> #31090000000000041A000004040000043BEBC20447F6EA0447FE3D04194ED004194ED004194ED0044674F05C1A05844C19B6C59C19BE156 
> PBLM:LTU0:739:STREAM_READER 2022-10-17 14:48:46.903834
> #31090000000000041A000004040000043BF0A40447F6EA0447ED2604194ED004194ED004194ED0044674F05C19C4FEBC19B7ADDC19BDF53
>
> Here's the output when streamDebug=1, filtered for the PV prefix which is also the asyn port name, PBLM:LTU0:739. The
> IOC has dozens of different devices, so full output is very cluttered.
>
> 2022/10/17 14:31:51.955033 PBLM:LTU0:73 AsynDriverInterface.cc:1176:
> AsynDriverInterface::asynReadHandler(PBLM:LTU0:739:STREAM_READER, buffer="MSG
> 1,#3117000b0C01f42cb9690009463C0002A3500000051B000001180000000000000027420400003F4CCCCD41A0F5C34108B80042153B204480000
> 040400<0d><0a>MSG
> 1,#31090000000000041A000004040000043BE1FE0447F95B0447FBCC04194ED004194ED004194ED0044674F05C19D3C11C19AB2F0C19AC879<0d>
> <0a><0d><0a>", received=252 eomReason=NONE) ioAction=AsyncRead
> 2022/10/17 14:31:51.955096 PBLM:LTU0:73 StreamCore.cc:944: StreamCore::readCallback(PBLM:LTU0:739:STREAM_READER,
> StreamIoSuccess input="MSG
> 1,#3117000b0C01f42cb9690009463C0002A3500000051B000001180000000000000027420400003F4CCCCD41A0F5C34108B80042153B204480000
> 040400<0d><0a>MSG
> 1,#31090000000000041A000004040000043BE1FE0447F95B0447FBCC04194ED004194ED004194ED0044674F05C19D3C11C19AB2F0C19AC879<0d>
> <0a><0d><0a>", size=252)
> 2022/10/17 14:31:51.955110 PBLM:LTU0:73 2022/10/17 14:31:51.955110 LBLM:LTUH:43 StreamCore.cc:994: StreamCore.cc:544:
> StreamCore::readCallback(PBLM:LTU0:739:STREAM_READER) inputBuffer="MSG
> 1,#3117000b0C01f42cb9690009463C0002A3500000051B000001180000000000000027420400003F4CCCCD41A0F5C34108B80042153B204480000
> 040400<0d><0a>MSG
> 1,#31090000000000041A000004040000043BE1FE0447F95B0447FBCC04194ED004194ED004194ED0044674F05C19D3C11C19AB2F0C19AC879<0d>
> <0a><0d><0a>", size 252
> 2022/10/17 14:31:51.955121 PBLM:LTU0:73 StreamCore.cc:1036: StreamCore::readCallback(PBLM:LTU0:739:STREAM_READER)
> inTerminator <0d><0a> at position 128
> 2022/10/17 14:31:51.955135 PBLM:LTU0:73 StreamCore.cc:1104: StreamCore::readCallback(PBLM:LTU0:739:STREAM_READER)
> input line: "MSG
> 1,#3117000b0C01f42cb9690009463C0002A3500000051B000001180000000000000027420400003F4CCCCD41A0F5C34108B80042153B204480000
> 040400"
> 2022/10/17 14:31:51.955143 PBLM:LTU0:73 StreamCore.cc:1193: StreamCore::matchInput(PBLM:LTU0:739:STREAM_READER):
> format = "%s"
> 2022/10/17 14:31:51.955163 PBLM:LTU0:73 StreamCore.cc:1535: StreamCore::scanValue(PBLM:LTU0:739:STREAM_READER,
> format=%s, char*, size=123)
> input="#3117000b0C01f42cb9690009463C0002A3500000051B000001180000000000000027420400003F4CCCCD41A0F5C34108B80042153B2044
> 80000040400"
> value="#3117000b0C01f42cb9690009463C0002A3500000051B000001180000000000000027420400003F4CCCCD41A0F5C34108B80042153B2044
> 80000040400<00>"
> 2022/10/17 14:31:51.955188 PBLM:LTU0:73 StreamEpics.cc:1543: Stream::matchValue(PBLM:LTU0:739:STREAM_READER): success,
> 122 bytes consumed
> 2022/10/17 14:31:51.955190 cbLow 2022/10/17 14:31:51.955204 PBLM:LTU0:73 StreamCore.cc:1110:
> StreamCore::readCallback(PBLM:LTU0:739:STREAM_READER) unpared input left: "MSG
> 1,#31090000000000041A000004040000043BE1FE0447F95B0447FBCC04194ED004194ED004194ED0044674F05C19D3C11C19AB2F0C19AC879<0d>
> <0a><0d><0a>"
> StreamEpics.cc:1079: 2022/10/17 14:31:51.955215 PBLM:LTU0:73 StreamCore.cc:544:
> StreamCore::evalCommand(PBLM:LTU0:739:STREAM_READER): activeCommand = end
> 2022/10/17 14:31:51.955225 PBLM:LTU0:73 StreamCore.cc:447: StreamCore::finishProtocol(PBLM:LTU0:739:STREAM_READER,
> Success) not bus owner
> 2022/10/17 14:31:51.955229 PBLM:LTU0:73 AsynDriverInterface.cc:1473: 2022/10/17 14:31:51.955229 cbLow
> AsynDriverInterface::finish(PBLM:LTU0:739:STREAM_READER) start
> AsynDriverInterface::finish(PBLM:LTU0:739:STREAM_READER) done
> 2022/10/17 14:31:51.955288 cbLow StreamEpics.cc:1088: 2022/10/17 14:31:51.955301 LBLM:LTUH:43 2022/10/17
> 14:31:51.955303 PBLM:LTU0:73 StreamEpics.cc:1001: Stream::protocolFinishHook(PBLM:LTU0:739:STREAM_READER, Success)
> 2022/10/17 14:31:51.955315 PBLM:LTU0:73 AsynDriverInterface.cc:1257:
> AsynDriverInterface::asynReadHandler(PBLM:LTU0:739:STREAM_READER) readMore=0, ioAction=None
> 2022/10/17 14:31:51.955431 cbLow StreamEpics.cc:1079: recordProcessCallback(PBLM:LTU0:739:STREAM_READER) processing
> record
> Stream::process(PBLM:LTU0:739:STREAM_READER)
> 2022/10/17 14:31:51.955460 cbLow StreamEpics.cc:889: Stream::process(PBLM:LTU0:739:STREAM_READER) ready. don't convert
> 2022/10/17 14:31:51.955470 cbLow StreamEpics.cc:1083: recordProcessCallback(PBLM:LTU0:739:STREAM_READER) processing
> record done
> 2022/10/17 14:31:51.955493 cbLow StreamEpics.cc:1088: recordProcessCallback(PBLM:LTU0:739:STREAM_READER) restart async
> protocol
> 2022/10/17 14:31:51.955498 cbLow StreamCore.cc:411: StreamCore::startProtocol(PBLM:LTU0:739:STREAM_READER,
> startMode=StartAsync)
> 2022/10/17 14:31:51.955519 cbLow StreamCore.cc:544: StreamCore::evalCommand(PBLM:LTU0:739:STREAM_READER):
> activeCommand = in
> 2022/10/17 14:31:51.955558 cbLow StreamCore.cc:901: StreamCore::evalIn(PBLM:LTU0:739:STREAM_READER): early input: MSG
> 1,#31090000000000041A000004040000043BE1FE0447F95B0447FBCC04194ED004194ED004194ED0044674F05C19D3C11C19AB2F0C19AC879<0d>
> <0a><0d><0a>
> 2022/10/17 14:31:51.955570 cbLow StreamCore.cc:944: StreamCore::readCallback(PBLM:LTU0:739:STREAM_READER,
> StreamIoSuccess input="", size=0)
> 2022/10/17 14:31:51.955590 cbLow 2022/10/17 14:31:51.955592 LBLM:LTUH:43 2022/10/17 14:31:51.955589 PBLM:LTU0:73
> StreamCore.cc:994: StreamCore.cc:1110: StreamCore::readCallback(PBLM:LTU0:739:STREAM_READER) inputBuffer="MSG
> 1,#31090000000000041A000004040000043BE1FE0447F95B0447FBCC04194ED004194ED004194ED0044674F05C19D3C11C19AB2F0C19AC879<0d>
> <0a><0d><0a>", size 122
> 2022/10/17 14:31:51.955614 cbLow StreamCore.cc:1036: StreamCore::readCallback(PBLM:LTU0:739:STREAM_READER)
> inTerminator <0d><0a> at position 118
> StreamCore::readCallback(PBLM:LTU0:739:STREAM_READER) input line: "MSG
> 1,#31090000000000041A000004040000043BE1FE0447F95B0447FBCC04194ED004194ED004194ED0044674F05C19D3C11C19AB2F0C19AC879"
> StreamCore.cc:1193: StreamCore::matchInput(PBLM:LTU0:739:STREAM_READER): format = "%s"
> StreamCore::scanValue(PBLM:LTU0:739:STREAM_READER, format=%s, char*, size=113)
> input="#31090000000000041A000004040000043BE1FE0447F95B0447FBCC04194ED004194ED004194ED0044674F05C19D3C11C19AB2F0C19AC87
> 9"
> value="#31090000000000041A000004040000043BE1FE0447F95B0447FBCC04194ED004194ED004194ED0044674F05C19D3C11C19AB2F0C19AC87
> 9<00>"
> 2022/10/17 14:31:51.955809 cbLow StreamEpics.cc:1543: Stream::matchValue(PBLM:LTU0:739:STREAM_READER): success, 112
> bytes consumed
> 2022/10/17 14:31:51.955816 cbLow StreamCore.cc:1110: StreamCore::readCallback(PBLM:LTU0:739:STREAM_READER) unpared
> input left: "<0d><0a>"
> AsynDriverInterface.cc:830: 2022/10/17 14:31:51.955861 cbLow StreamCore.cc:544:
> StreamCore::evalCommand(PBLM:LTU0:739:STREAM_READER): activeCommand = end
> 2022/10/17 14:31:51.955870 cbLow StreamCore.cc:447: StreamCore::finishProtocol(PBLM:LTU0:739:STREAM_READER, Success)
> not bus owner
> AsynDriverInterface.cc:1257: 2022/10/17 14:31:51.955908 cbLow AsynDriverInterface.cc:1473:
> AsynDriverInterface::finish(PBLM:LTU0:739:STREAM_READER) start
> AsynDriverInterface.cc:1483: 2022/10/17 14:31:51.955943 PBLM:LTU0:73
> AsynDriverInterface::finish(PBLM:LTU0:739:STREAM_READER) done
> 2022/10/17 14:31:51.955954 cbLow StreamEpics.cc:1001: Stream::protocolFinishHook(PBLM:LTU0:739:STREAM_READER, Success)
> 2022/10/17 14:31:51.956129 cbLow StreamEpics.cc:1079: recordProcessCallback(PBLM:LTU0:739:STREAM_READER) processing
> record
> 2022/10/17 14:31:51.956143 cbLow StreamEpics.cc:875: Stream::process(PBLM:LTU0:739:STREAM_READER)
> 2022/10/17 14:31:51.956157 cbLow StreamEpics.cc:889: Stream::process(PBLM:LTU0:739:STREAM_READER) ready. don't convert
> 2022/10/17 14:31:51.956185 cbLow StreamEpics.cc:1083: recordProcessCallback(PBLM:LTU0:739:STREAM_READER) processing
> record done
> recordProcessCallback(PBLM:LTU0:739:STREAM_READER) restart async protocol
> 2022/10/17 14:31:51.956226 cbLow 2022/10/17 14:31:51.956236 PBLM:LTU0:73 StreamCore.cc:411: StreamCore.cc:1128:
> StreamCore::startProtocol(PBLM:LTU0:739:STREAM_READER, startMode=StartAsync)
> 2022/10/17 14:31:51.956254 cbLow StreamCore.cc:544: StreamCore::evalCommand(PBLM:LTU0:739:STREAM_READER):
> activeCommand = in
> 2022/10/17 14:31:51.956263 cbLow StreamCore.cc:901: StreamCore::evalIn(PBLM:LTU0:739:STREAM_READER): early input:
> <0d><0a>
> 2022/10/17 14:31:51.956271 cbLow StreamCore.cc:944: StreamCore::readCallback(PBLM:LTU0:739:STREAM_READER,
> StreamIoSuccess input="", size=0)
> 2022/10/17 14:31:51.956280 cbLow StreamCore.cc:994: StreamCore::readCallback(PBLM:LTU0:739:STREAM_READER)
> inputBuffer="<0d><0a>", size 2
> 2022/10/17 14:31:51.956288 cbLow StreamCore.cc:1036: StreamCore::readCallback(PBLM:LTU0:739:STREAM_READER)
> inTerminator <0d><0a> at position 0
> 2022/10/17 14:31:51.956296 cbLow StreamCore.cc:1104: StreamCore::readCallback(PBLM:LTU0:739:STREAM_READER) input line:
> ""
> 2022/10/17 14:31:51.956304 cbLow StreamCore.cc:1128: StreamCore::readCallback(PBLM:LTU0:739:STREAM_READER) async match
> failure: just restart
> 2022/10/17 14:31:51.956312 cbLow AsynDriverInterface.cc:805:
> AsynDriverInterface::readRequest(PBLM:LTU0:739:STREAM_READER, 2000 msec reply, 10000 msec read, expect 0 bytes,
> async=yes)
> 2022/10/17 14:31:51.956321 cbLow AsynDriverInterface.cc:830: AsynDriverInterface::readRequest
> PBLM:LTU0:739:STREAM_READER: queueRequest(..., priority=0, queueTimeout=-1 sec) = asynError [async=true]
> asynManager::queueRequest is already queued
> 2022/10/17 14:31:51.956581 PBLM:LTU0:73 AsynDriverInterface.cc:956:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER): read returned asynSuccess: ioAction=AsyncRead
> received=63, eomReason=CNT, buffer="MSG 1,#3117000b0C01f42cb9690009463C0002A3500000051B000001180000"
> 2022/10/17 14:31:51.956587 PBLM:LTU0:73 AsynDriverInterface.cc:981:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER): AsyncRead poll: received 63 of 63 bytes "MSG
> 1,#3117000b0C01f42cb9690009463C0002A3500000051B000001180000" eomReason=CNT [data ignored]
> 2022/10/17 14:31:51.956591 PBLM:LTU0:73 AsynDriverInterface.cc:1127:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER) readMore=-1 bytesToRead=63
> 2022/10/17 14:31:51.956608 PBLM:LTU0:73 AsynDriverInterface.cc:948:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER): ioAction=AsyncRead read(..., bytesToRead=63, ...)
> [timeout=10 sec]
> 2022/10/17 14:31:51.956617 PBLM:LTU0:73 AsynDriverInterface.cc:956:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER): read returned asynSuccess: ioAction=AsyncRead
> received=63, eomReason=CNT, buffer="000000000027420400003F4CCCCD41A0F5C34108B80042153B2044800000404"
> 2022/10/17 14:31:51.956623 PBLM:LTU0:73 AsynDriverInterface.cc:981:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER): AsyncRead poll: received 63 of 63 bytes
> "000000000027420400003F4CCCCD41A0F5C34108B80042153B2044800000404" eomReason=CNT [data ignored]
> 2022/10/17 14:31:51.956627 PBLM:LTU0:73 AsynDriverInterface.cc:1127:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER) readMore=-1 bytesToRead=63
> 2022/10/17 14:31:51.956631 PBLM:LTU0:73 AsynDriverInterface.cc:948:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER): ioAction=AsyncRead read(..., bytesToRead=63, ...)
> [timeout=10 sec]
> 2022/10/17 14:31:51.956636 PBLM:LTU0:73 AsynDriverInterface.cc:956:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER): read returned asynSuccess: ioAction=AsyncRead
> received=2, eomReason=EOS, buffer="00"
> 2022/10/17 14:31:51.956640 PBLM:LTU0:73 AsynDriverInterface.cc:981:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER): AsyncRead poll: received 2 of 63 bytes "00"
> eomReason=EOS [data ignored]
> 2022/10/17 14:31:51.956650 PBLM:LTU0:73 AsynDriverInterface.cc:1127:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER) readMore=-1 bytesToRead=63
> 2022/10/17 14:31:51.956654 PBLM:LTU0:73 AsynDriverInterface.cc:948:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER): ioAction=AsyncRead read(..., bytesToRead=63, ...)
> [timeout=10 sec]
> 2022/10/17 14:31:51.956661 PBLM:LTU0:73 AsynDriverInterface.cc:956:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER): read returned asynSuccess: ioAction=AsyncRead
> received=63, eomReason=CNT, buffer="MSG 1,#31090000000000041A000004040000043BE1FE0447F95B0447FBCC04"
> 2022/10/17 14:31:51.956666 PBLM:LTU0:73 AsynDriverInterface.cc:981:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER): AsyncRead poll: received 63 of 63 bytes "MSG
> 1,#31090000000000041A000004040000043BE1FE0447F95B0447FBCC04" eomReason=CNT [data ignored]
> 2022/10/17 14:31:51.956670 PBLM:LTU0:73 AsynDriverInterface.cc:1127:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER) readMore=-1 bytesToRead=63
> 2022/10/17 14:31:51.956674 PBLM:LTU0:73 AsynDriverInterface.cc:948:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER): ioAction=AsyncRead read(..., bytesToRead=63, ...)
> [timeout=10 sec]
> 2022/10/17 14:31:51.956681 PBLM:LTU0:73 AsynDriverInterface.cc:956:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER): read returned asynSuccess: ioAction=AsyncRead
> received=55, eomReason=EOS, buffer="194ED004194ED004194ED0044674F05C19D3C11C19AB2F0C19AC879"
> 2022/10/17 14:31:51.956689 PBLM:LTU0:73 AsynDriverInterface.cc:981:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER): AsyncRead poll: received 55 of 63 bytes
> "194ED004194ED004194ED0044674F05C19D3C11C19AB2F0C19AC879" eomReason=EOS [data ignored]
> 2022/10/17 14:31:51.956701 PBLM:LTU0:73 AsynDriverInterface.cc:1127:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER) readMore=-1 bytesToRead=63
> 2022/10/17 14:31:51.956708 PBLM:LTU0:73 AsynDriverInterface.cc:948:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER): ioAction=AsyncRead read(..., bytesToRead=63, ...)
> [timeout=10 sec]
> 2022/10/17 14:31:51.956714 PBLM:LTU0:73 AsynDriverInterface.cc:956:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER): read returned asynSuccess: ioAction=AsyncRead
> received=0, eomReason=EOS, buffer=""
> 2022/10/17 14:31:51.956718 PBLM:LTU0:73 AsynDriverInterface.cc:981:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER): AsyncRead poll: received 0 of 63 bytes "" eomReason=EOS
> [data ignored]
> 2022/10/17 14:31:51.956722 PBLM:LTU0:73 AsynDriverInterface.cc:1127:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER) readMore=-1 bytesToRead=63
> 2022/10/17 14:31:51.956726 PBLM:LTU0:73 AsynDriverInterface.cc:948:
> AsynDriverInterface::readHandler(PBLM:LTU0:739:STREAM_READER): ioAction=AsyncRead read(..., bytesToRead=63, ...)
> [timeout=10 sec]
>
> Thanks,
> Garth

References:
Streamdevice discards part of message Brown, Garth via Tech-talk
Re: Streamdevice discards part of message Zimoch Dirk (PSI) via Tech-talk

Navigate by Date:
Prev: Re: Issues building statically linked IOC Érico Nogueira Rolim via Tech-talk
Next: Re: Issues building statically linked IOC Érico Nogueira Rolim via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024 
Navigate by Thread:
Prev: Re: Streamdevice discards part of message Zimoch Dirk (PSI) via Tech-talk
Next: 回覆: Streamdevice discards part of message Chiang, Liang-Chih [江良志] via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024 
ANJ, 18 Oct 2022 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·