I am exploring how to implement an API with Arrow Flight, and I am having difficulty understanding why GetFlightInfo is a separate step from DoGet. I imagine a Ticket to be a serialized application-specific request that is understood by the server(s), and I don't understand why the client should have to send a pre-flight command in a FlightDescriptor to obtain tickets, instead of directly sending tickets to the server(s). Can someone share a real-world, non-contrived example of a Flight service that relies on this feature of the protocol to achieve performance, scalability, etc. goals?
Thanks, Steve
