[ 
https://issues.apache.org/jira/browse/PROTON-1890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16928749#comment-16928749
 ] 

Bajan Fella commented on PROTON-1890:
-------------------------------------

I took the code from the simple_recv from the repo 
\qpid-proton-master\cpp\examples\simple_recv.cpp and modified it so it can 
connect to my server which uses TLS. I should also mention I'm running on 
Windows 10.

Once I connect I then use Clumsy ([https://jagt.github.io/clumsy/index.html]) 
to slow down/throttle/drop some packets on the port. For example, if my server 
is listening on port pxxx at ipx.ipx.ipx.ipx. I use 

(((ip.DstAddr=ipx.ipx.ipx.ipx) and (tcp.DstPort=pxxx)) or 
((ip.SrcAddr=ipx.ipx.ipx.ipx) and (tcp.SrcPort=pxxx))) as a filter in Clumsy 
After a minute our so I get the expected output in the trace and netstat -ano | 
finsstr /c:pxxx shows that the TCP connection is closed but I did not receive a 
transport_error or transport_close

 

[0000018B6B046210]:0 -> (EMPTY FRAME)
[0000018B6B046210]:RAW: "\x00\x00\x00\x08\x02\x00\x00\x00"
[0000018B6B046210]:0 <- (EMPTY FRAME)
[0000018B6B046210]:0 <- (EMPTY FRAME)
[0000018B6B046210]:0 -> (EMPTY FRAME)
[0000018B6B046210]:RAW: "\x00\x00\x00\x08\x02\x00\x00\x00"
[0000018B6B046210]:0 -> (EMPTY FRAME)
[0000018B6B046210]:RAW: "\x00\x00\x00\x08\x02\x00\x00\x00"
[0000018B6B046210]:ERROR amqp:resource-limit-exceeded local-idle-timeout expired
[0000018B6B046210]:0 -> @close(24) [error=@error(29) 
[condition=:"amqp:resource-limit-exceeded", description="local-idle-timeout 
expired"]]
[0000018B6B046210]:RAW: 
"\x00\x00\x00Z\x02\x00\x00\x00\x00S\x18\xd0\x00\x00\x00J\x00\x00\x00\x01\x00S\x1d\xd0\x00\x00\x00>\x00\x00\x00\x02\xa3\x1camqp:resource-limit-exceeded\xa1\x1alocal-idle-timeout
 expired"

 

> [c++] implement idle_timeout and heartbeats
> -------------------------------------------
>
>                 Key: PROTON-1890
>                 URL: https://issues.apache.org/jira/browse/PROTON-1890
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: cpp-binding
>    Affects Versions: proton-0.16.0
>            Reporter: Praveen Bodke
>            Assignee: Alan Conway
>            Priority: Major
>         Attachments: PROTON-1890.zip, examples.diff
>
>
> This is similar issue reported in PROTON-1782 for ruby. 
> We are facing this issue in cpp binding and i am able to reproduce the issue 
> with scheduled_send_03.cpp example. The test scenario is to drop all the 
> packets from both the interfaces after the successful connection. The only 
> change i made to this example is to send messages continuously inside the 
> send() method. The other end is detecting the error as it is sending the 
> empty frames and no response is heard.
> The proton is not sending the heartbeat messages (empty frames) as the sender 
> is busy in sending the data frames. Is it not necessary to send empty frames 
> even if the data frames are sent?
>  



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to