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]
