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

Charles E. Rolke commented on DISPATCH-1878:
--------------------------------------------

Following on to pull request #1110. Attaching a trace showing the proton event 
startup sequence for a success case and a failed hang case.

See file DISPATCH-1878_fail-pn-raw-closed-before-ingress-stream-set-up.svg

The TCP adaptor is expecting to see 1) PN_RAW_CONNECTION_CONNECTED followed by 
2) PN_RAW_CONNECTION_WAKE. The WAKE will cause a few code trips through 
handle_incoming_impl function where it waits for the ingress delivery and 
stream message to get set up. During listener connection setup handle_incoming 
expects pn_raw_connection_is_read_closed() to return false.

In the failed case the first events are 1) PN_RAW_CONNECTION_CONNECTED and 2) 
PN_RAW_CONNECTION_NEED_WRITE_BUFFERS. The first call to handle_incoming sees 
pn_raw_connection_is_read_closed() return true. This causes the receive 
listener connection to run state handling before the ingress delivery and 
stream messaage is set up.

 

> Client app not getting a response through tcpListener
> -----------------------------------------------------
>
>                 Key: DISPATCH-1878
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-1878
>             Project: Qpid Dispatch
>          Issue Type: Bug
>          Components: Protocol Adaptors
>    Affects Versions: 2.0.0
>            Reporter: Fernando Giorgetti
>            Assignee: Charles E. Rolke
>            Priority: Major
>         Attachments: D-1878 @e148c.svg, dispatch-1878-trace.html
>
>
> I have a tcp-echo server running locally through:
> podman run -d --rm --name tcpecho -p 9090:9090 quay.io/skupper/tcp-go-echo
> And I have a router configured with a tcpConnector to localhost at port 9090 
> and a tcpListener at port 9999.
> I am able to use nc (netcat) to send data to the tcp-echo directly (port 
> 9090) or through
> the router (port 9999), if I run "nc 127.0.0.1 9999" and the send the data.
> But if I run it as:  "echo abcd | nc 127.0.0.1 9999" I am not seeing a 
> response, but if 
> I use port 9090 (original port) instead of 9999 (router tcpListener), then I 
> get the
> response correctly.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to