[
https://issues.apache.org/jira/browse/PROTON-1890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16541643#comment-16541643
]
Alan Conway commented on PROTON-1890:
-------------------------------------
Thanks for the detailed analysis, let me reprhase to make sure I understand:
P2 detects a time out and sends a CLOSE frame, but it does not locally close
the connection until the TCP connection times out.
That does sound like a bug: proton should send a CLOSE frame if it detects a
timeout, but it should not wait for a reply or an orderly socket close since a
time-out means neither is likely to happen. It should immediately close both
sides of its local socket and report a transport-error as you suggest.
> [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: 0.16.0
> Reporter: Praveen Bodke
> Assignee: Alan Conway
> Priority: Major
> Attachments: PROTON-1890.zip
>
>
> 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
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]