[
https://issues.apache.org/jira/browse/ETCH-278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13923580#comment-13923580
]
Shingyu Kang commented on ETCH-278:
-----------------------------------
I have one more error condition.
If SIG is not correct on a certain condition, sessionData does not handle
received data correctly.
For example, in sessionData function,
1. Header split across savedBuf and buf
2. Then processHeader is called with reset argument true
3. In this case, if SIG is not correct, this function returns without resetting
buf (without discarding remaining data in SavedBuf)
4. Then if new data arrives, buf index is not advanced in #3, so processHeader
check the SIG with data in the SavedBuf which is already not correct in #3.
If I call buf->reset() in case of SIG != SIG(), processHeader can be recovered
correctly after some more failures.
But without calling reset(), sessionData can't process no more data with
complaining SIG is not correct.
> EtchPacketizer isn't able to receive multiple Packages in one Buffer
> --------------------------------------------------------------------
>
> Key: ETCH-278
> URL: https://issues.apache.org/jira/browse/ETCH-278
> Project: Etch
> Issue Type: Bug
> Components: binding-cpp
> Affects Versions: 1.3.0
> Reporter: Aaron Frueh
> Priority: Critical
> Attachments:
> 0001-HotFix-for-EtchPacketizer-receive-of-multiple-packag.patch
>
>
> The packetizer should be able to receive multiple Etch-Packages within one
> buffer. (see also Etch-C-Binding)
> This can happen if the socket-receive is somehow blocked or delayed and the
> internal socket buffer contains multiple packages.
--
This message was sent by Atlassian JIRA
(v6.2#6252)