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

James E. King III commented on THRIFT-3877:
-------------------------------------------

As part of some work on support message bus, I need to add some context at the 
transport level to understand a complete round trip request/response cycle.  
Right now I am leveraging the "readEnd" and "writeEnd" methods (I changed their 
signature, so it's breaking, which is not ideal, but it's also prototype for 
now).  In those calls it will be possible to track the request/response with a 
unique discriminator, so for example readEnd can tuck something away like a 
response queue name, and writeEnd allows the response to be routed back to the 
request queue (in a message bus).  This will also carry whether the read or 
write is for a request or a response, and an indicator as to whether the 
request is oneway.

So I think that if the code generator tells the transport through readEnd() 
(which is sent at the end of reading a complete message) that what was just 
read is oneway, the server's THttpTransport can send the required transport 
response (200 OK) even when receiving a oneway request.


> C++: library don't work with HTTP (csharp server, cpp client; need cross test 
> enhancement)
> ------------------------------------------------------------------------------------------
>
>                 Key: THRIFT-3877
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3877
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.9.3, 0.10.0
>         Environment: Windows 7, Visual Studio 2013 (C#), Qt 5.7 (MSVC 12).
> Thrift from git repo, SHA-1: 5a3f855b4e6882184f13c698855c877241144a12 (master)
>            Reporter: Sergey Fasman
>            Assignee: James E. King III
>            Priority: Critical
>
> Client on C++.
> Tested on C# HTTP server and client — work ideal.
> Then create client on C++. Client after request starts infinitly wait for 
> data.
> For example, JSON protocol read data symbol by symbol, when trying read: it 
> always try to call recv function (even all data already received).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to