Skip to main content

Envelope

Struct Envelope 

Source
pub struct Envelope {
    pub version: Version,
    pub direction: Direction,
    pub flags: Flags,
    pub opcode: Opcode,
    pub stream_id: StreamId,
    pub body: Vec<u8>,
    pub tracing_id: Option<Uuid>,
    pub warnings: Vec<String>,
}

Fields§

§version: Version§direction: Direction§flags: Flags§opcode: Opcode§stream_id: StreamId§body: Vec<u8>§tracing_id: Option<Uuid>§warnings: Vec<String>

Implementations§

Source§

impl Envelope

Source

pub fn new_req_auth_response(token_bytes: CBytes, version: Version) -> Envelope

Creates new envelope of type AuthResponse.

Source§

impl Envelope

Source

pub fn new_req_batch( query: BodyReqBatch, flags: Flags, version: Version, ) -> Envelope

Source§

impl Envelope

Source

pub fn new_req_execute( id: &CBytesShort, result_metadata_id: Option<&CBytesShort>, query_parameters: &QueryParams, flags: Flags, version: Version, ) -> Envelope

Source§

impl Envelope

Source

pub fn new_req_options(version: Version) -> Envelope

Creates new envelope of type options.

Source§

impl Envelope

Source

pub fn new_req_prepare( query: String, keyspace: Option<String>, flags: Flags, version: Version, ) -> Envelope

Source§

impl Envelope

Source

pub fn new_req_query( query: String, consistency: Consistency, values: Option<QueryValues>, with_names: bool, page_size: Option<CInt>, paging_state: Option<CBytes>, serial_consistency: Option<Consistency>, timestamp: Option<CLong>, keyspace: Option<String>, now_in_seconds: Option<CInt>, flags: Flags, version: Version, ) -> Envelope

Source

pub fn new_query( query: BodyReqQuery, flags: Flags, version: Version, ) -> Envelope

Source§

impl Envelope

Source

pub fn new_req_register( events: Vec<SimpleServerEvent>, version: Version, ) -> Envelope

Creates new envelope of type REGISTER.

Source§

impl Envelope

Source

pub fn new_req_startup( compression: Option<String>, version: Version, ) -> Envelope

Creates new envelope of type startup.

Source§

impl Envelope

Source

pub fn new( version: Version, direction: Direction, flags: Flags, opcode: Opcode, stream_id: StreamId, body: Vec<u8>, tracing_id: Option<Uuid>, warnings: Vec<String>, ) -> Self

Source

pub fn request_body(&self) -> Result<RequestBody>

Source

pub fn response_body(&self) -> Result<ResponseBody>

Source

pub fn tracing_id(&self) -> &Option<Uuid>

Source

pub fn warnings(&self) -> &[String]

Source

pub fn from_buffer( data: &[u8], compression: Compression, ) -> Result<ParsedEnvelope, ParseEnvelopeError>

Parses the raw bytes of a cassandra envelope returning a ParsedEnvelope struct. The typical use case is reading from a buffer that may contain 0 or more envelopes and where the last envelope may be incomplete. The possible return values are:

  • Ok(ParsedEnvelope) - The first envelope in the buffer has been successfully parsed.
  • Err(ParseEnvelopeError::NotEnoughBytes) - There are not enough bytes to parse a single envelope, Envelope::from_buffer should be recalled when it is possible that there are more bytes.
  • Err(_) - The envelope is malformed and you should close the connection as this method does not provide a way to tell how many bytes to advance the buffer in this case.
Source

pub fn check_envelope_size(data: &[u8]) -> Result<usize, CheckEnvelopeSizeError>

Source

pub fn encode_with(&self, compressor: Compression) -> Result<Vec<u8>>

Trait Implementations§

Source§

impl Clone for Envelope

Source§

fn clone(&self) -> Envelope

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Envelope

Source§

fn fmt(&self, __f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Envelope

Source§

impl Hash for Envelope

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Envelope

Source§

fn eq(&self, other: &Envelope) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Envelope

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.