Enum fbthrift_git::binary_protocol::BinaryProtocol[][src]

pub enum BinaryProtocol<F = Bytes> {
    __Phantom(BinaryProtocol<F>),
    BinaryProtocol,
}

A straight-forward binary format that encodes numeric values in fixed width.

let protocol = BinaryProtocol;
let transport = HttpClient::new(ENDPOINT)?;
let client = BuckGraphService::new(protocol, transport);

The type parameter is the Framing expected by the transport on which this protocol is operating. Usually by convention the transport itself serves as the Framing impl, so for example in the case of HttpClient above, the compiler has inferred F = HttpClient.

Where the compiler reports that a Framing can’t be inferred, one can be specified explicitly:

let protocol = BinaryProtocol::<SRHeaderTransport>;

Variants

__Phantom(BinaryProtocol<F>)
BinaryProtocol

Trait Implementations

impl<F> Clone for BinaryProtocol<F>[src]

impl<F> Copy for BinaryProtocol<F>[src]

impl<F> Protocol for BinaryProtocol<F> where
    F: Framing + 'static, 
[src]

type Frame = F

Type of the framing implementation

type Sizer = BinaryProtocolSerializer<SizeCounter>

Compute the size of a frame for a given protocol. This can be exact or too large, but must not be too small. Read more

type Serializer = BinaryProtocolSerializer<F::EncBuf>

Serialize into a buffer. The buffer is allocated with the size computed by Sizer, so it must be large enough. Read more

type Deserializer = BinaryProtocolDeserializer<F::DecBuf>

Set up a deserializer from a frame’s buffer.

Auto Trait Implementations

impl<F> RefUnwindSafe for BinaryProtocol<F> where
    F: RefUnwindSafe

impl<F> Send for BinaryProtocol<F> where
    F: Send

impl<F> Sync for BinaryProtocol<F> where
    F: Sync

impl<F> Unpin for BinaryProtocol<F> where
    F: Unpin

impl<F> UnwindSafe for BinaryProtocol<F> where
    F: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.