pub struct FlightInfo {
    pub schema: Bytes,
    pub flight_descriptor: Option<FlightDescriptor>,
    pub endpoint: Vec<FlightEndpoint>,
    pub total_records: i64,
    pub total_bytes: i64,
    pub ordered: bool,
    pub app_metadata: Bytes,
}Expand description
The access coordinates for retrieval of a dataset. With a FlightInfo, a consumer is able to determine how to retrieve a dataset.
Fields§
§schema: BytesThe schema of the dataset in its IPC form: 4 bytes - an optional IPC_CONTINUATION_TOKEN prefix 4 bytes - the byte length of the payload a flatbuffer Message whose header is the Schema
flight_descriptor: Option<FlightDescriptor>The descriptor associated with this info.
endpoint: Vec<FlightEndpoint>A list of endpoints associated with the flight. To consume the whole flight, all endpoints (and hence all Tickets) must be consumed. Endpoints can be consumed in any order.
In other words, an application can use multiple endpoints to represent partitioned data.
If the returned data has an ordering, an application can use “FlightInfo.ordered = true” or should return the all data in a single endpoint. Otherwise, there is no ordering defined on endpoints or the data within.
A client can read ordered data by reading data from returned endpoints, in order, from front to back.
Note that a client may ignore “FlightInfo.ordered = true”. If an ordering is important for an application, an application must choose one of them:
- An application requires that all clients must read data in returned endpoints order.
- An application must return the all data in a single endpoint.
total_records: i64Set these to -1 if unknown.
total_bytes: i64§ordered: boolFlightEndpoints are in the same order as the data.
app_metadata: BytesApplication-defined metadata.
There is no inherent or required relationship between this and the app_metadata fields in the FlightEndpoints or resulting FlightData messages. Since this metadata is application-defined, a given application could define there to be a relationship, but there is none required by the spec.
Implementations§
Source§impl FlightInfo
 
impl FlightInfo
Sourcepub fn new() -> FlightInfo
 
pub fn new() -> FlightInfo
Create a new, empty FlightInfo, describing where to fetch flight data
§Example:
// Create a new FlightInfo
let flight_info = FlightInfo::new()
  // Encode the Arrow schema
  .try_with_schema(&get_schema())
  .expect("encoding failed")
  .with_endpoint(
     FlightEndpoint::new()
       .with_ticket(Ticket::new("ticket contents")
     )
   )
  .with_descriptor(FlightDescriptor::new_cmd("RUN QUERY"));Sourcepub fn try_decode_schema(self) -> Result<Schema, ArrowError>
 
pub fn try_decode_schema(self) -> Result<Schema, ArrowError>
Try and convert the data in this  FlightInfo into a Schema
Sourcepub fn try_with_schema(self, schema: &Schema) -> Result<Self, ArrowError>
 
pub fn try_with_schema(self, schema: &Schema) -> Result<Self, ArrowError>
Specify the schema for the response.
Note this takes the arrow Schema (not the IPC schema) and
encodes it using the default IPC options.
Returns an error if schema can not be encoded into IPC form.
Sourcepub fn with_endpoint(self, endpoint: FlightEndpoint) -> Self
 
pub fn with_endpoint(self, endpoint: FlightEndpoint) -> Self
Add specific a endpoint for fetching the data
Sourcepub fn with_descriptor(self, flight_descriptor: FlightDescriptor) -> Self
 
pub fn with_descriptor(self, flight_descriptor: FlightDescriptor) -> Self
Add a FlightDescriptor describing what this data is
Sourcepub fn with_total_records(self, total_records: i64) -> Self
 
pub fn with_total_records(self, total_records: i64) -> Self
Set the number of records in the result, if known
Sourcepub fn with_total_bytes(self, total_bytes: i64) -> Self
 
pub fn with_total_bytes(self, total_bytes: i64) -> Self
Set the number of bytes in the result, if known
Sourcepub fn with_ordered(self, ordered: bool) -> Self
 
pub fn with_ordered(self, ordered: bool) -> Self
Specify if the response is ordered across endpoints
Sourcepub fn with_app_metadata(self, app_metadata: impl Into<Bytes>) -> Self
 
pub fn with_app_metadata(self, app_metadata: impl Into<Bytes>) -> Self
Add optional application specific metadata to the message
Trait Implementations§
Source§impl Clone for FlightInfo
 
impl Clone for FlightInfo
Source§fn clone(&self) -> FlightInfo
 
fn clone(&self) -> FlightInfo
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FlightInfo
 
impl Debug for FlightInfo
Source§impl Default for FlightInfo
 
impl Default for FlightInfo
Source§impl Display for FlightInfo
 
impl Display for FlightInfo
Source§impl Message for FlightInfo
 
impl Message for FlightInfo
Source§fn encoded_len(&self) -> usize
 
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
    Self: Sized,
 
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
    Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
    Self: Sized,
 
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
    Self: Sized,
Source§fn encode_length_delimited(
    &self,
    buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
    Self: Sized,
 
fn encode_length_delimited(
    &self,
    buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
    Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
    Self: Sized,
 
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
    Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
    Self: Default,
 
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
    Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
    Self: Default,
 
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
    Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
    Self: Sized,
 
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
    Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
    Self: Sized,
 
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
    Self: Sized,
self.Source§impl PartialEq for FlightInfo
 
impl PartialEq for FlightInfo
Source§impl TryFrom<FlightInfo> for Schema
 
impl TryFrom<FlightInfo> for Schema
Source§type Error = ArrowError
 
type Error = ArrowError
Source§fn try_from(value: FlightInfo) -> Result<Self, ArrowError>
 
fn try_from(value: FlightInfo) -> Result<Self, ArrowError>
impl StructuralPartialEq for FlightInfo
Auto Trait Implementations§
impl !Freeze for FlightInfo
impl RefUnwindSafe for FlightInfo
impl Send for FlightInfo
impl Sync for FlightInfo
impl Unpin for FlightInfo
impl UnwindSafe for FlightInfo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
 
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
 
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
 
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
    L: Layer<S>,
 
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
    L: Layer<S>,
Layered].