Skip to main content

Message

Enum Message 

Source
#[non_exhaustive]
pub enum Message {
Show 26 variants AuthenticationOk, AuthenticationCleartextPassword, AuthenticationMd5Password(AuthenticationMd5PasswordBody), AuthenticationSasl(AuthenticationSaslBody), AuthenticationSaslContinue(AuthenticationSaslContinueBody), AuthenticationSaslFinal(AuthenticationSaslFinalBody), BackendKeyData(BackendKeyDataBody), BindComplete, CloseComplete, CommandComplete(CommandCompleteBody), CopyData(CopyDataBody), CopyDone, CopyInResponse(CopyInResponseBody), CopyOutResponse(CopyOutResponseBody), DataRow(DataRowBody), EmptyQueryResponse, ErrorResponse(ErrorResponseBody), NoData, NoticeResponse(NoticeResponseBody), NotificationResponse(NotificationResponseBody), ParameterDescription(ParameterDescriptionBody), ParameterStatus(ParameterStatusBody), ParseComplete, PortalSuspended, ReadyForQuery(ReadyForQueryBody), RowDescription(RowDescriptionBody),
}
Expand description

An enum representing backend messages from Hyper server.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

AuthenticationOk

Authentication request completed successfully.

§

AuthenticationCleartextPassword

Authentication via cleartext password.

§

AuthenticationMd5Password(AuthenticationMd5PasswordBody)

Authentication via MD5 password.

§

AuthenticationSasl(AuthenticationSaslBody)

Authentication via SASL.

§

AuthenticationSaslContinue(AuthenticationSaslContinueBody)

SASL authentication continue.

§

AuthenticationSaslFinal(AuthenticationSaslFinalBody)

SASL authentication final.

§

BackendKeyData(BackendKeyDataBody)

Backend key data for cancel requests.

§

BindComplete

Bind operation complete.

§

CloseComplete

Close operation complete.

§

CommandComplete(CommandCompleteBody)

Command completed.

§

CopyData(CopyDataBody)

COPY data.

§

CopyDone

COPY operation done.

§

CopyInResponse(CopyInResponseBody)

COPY IN response (client should send data).

§

CopyOutResponse(CopyOutResponseBody)

COPY OUT response (server will send data).

§

DataRow(DataRowBody)

A row of data.

§

EmptyQueryResponse

Empty query response.

§

ErrorResponse(ErrorResponseBody)

Error response.

§

NoData

No data (for empty result sets).

§

NoticeResponse(NoticeResponseBody)

Notice response (warning).

§

NotificationResponse(NotificationResponseBody)

Notification from LISTEN/NOTIFY.

§

ParameterDescription(ParameterDescriptionBody)

Parameter description for prepared statement.

§

ParameterStatus(ParameterStatusBody)

Parameter status update.

§

ParseComplete

Parse operation complete.

§

PortalSuspended

Portal suspended (for partial results).

§

ReadyForQuery(ReadyForQueryBody)

Ready for query.

§

RowDescription(RowDescriptionBody)

Row description (column metadata).

Implementations§

Source§

impl Message

Source

pub fn parse(buf: &mut BytesMut) -> Result<Option<Message>>

Parses a backend message from a buffer.

Reads the message header (5 bytes: tag + length) and parses the complete message body. Returns Ok(None) if the buffer doesn’t contain a complete message yet. The buffer is advanced when a complete message is parsed.

§Arguments
  • buf - Buffer containing message data (may be partial)
§Errors
  • Returns io::ErrorKind::InvalidInput if the declared length field is less than 4 (below the minimum valid message size).
  • Returns an I/O error from the inner Buffer reads when a body field is truncated, a C-string is not NUL-terminated, or a string field contains invalid UTF-8.
  • Returns io::ErrorKind::InvalidInput for unexpected authentication sub-tags or unknown top-level message tags.
§Panics

Does not panic in practice. The read_u32 call on &buf[1..5] is proven infallible by the preceding buf.len() < 5 short-circuit.

Trait Implementations§

Source§

impl Debug for Message

Source§

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

Formats the value using the given formatter. Read more

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more