lupko commented on issue #43819:
URL: https://github.com/apache/arrow/issues/43819#issuecomment-2316006676

   @lidavidm thanks for responses. Sorry for delays from my end. 
   
   The 'contract' i was referring to, is for example stuff implemented here in 
`TransportMessageReader`. My understanding (please correct me here) is that 
this is used during DoPut on server side. Here in `EnsureDataStarted`, the code 
skips over to first message containing Arrow data, discarding any app metadata. 
Furthermore, the code is from then on prepared to handle messages that contain 
either app_metadata only, data only or both. 
   
   Now if I look at the docs for DoPut and FlightData proto - the stream 
semantics are not described there; the protobuf description hints that client 
start DoPut stream with message that contains descriptor. There is nothing 
apart from that - which I think will leave anyone who implements server 
guessing what to expect.
   
   I guess what I'm driving at is, that in order to write correct server 
myself, the Flight RPC spec probably needs to be detailed out especially when 
it comes to the streams (the non-streaming APIs are quite straightforward). 
Like.. if I were to develop a Flight RPC server myself according to some spec 
(which may very well happen :)), I need to know what the server (and client) 
MUST / SHOULD / MAY do.
   
   Anyway those are my few cents, I hope this makes at least some sense :]
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to