pub enum Status<'a> {
    Ok {
        tag: Option<Tag<'a>>,
        code: Option<Code<'a>>,
        text: Text<'a>,
    },
    No {
        tag: Option<Tag<'a>>,
        code: Option<Code<'a>>,
        text: Text<'a>,
    },
    Bad {
        tag: Option<Tag<'a>>,
        code: Option<Code<'a>>,
        text: Text<'a>,
    },
    Bye {
        code: Option<Code<'a>>,
        text: Text<'a>,
    },
}
Expand description

7.1. Server Responses - Status Responses

Status responses are OK, NO, BAD, PREAUTH and BYE. OK, NO, and BAD can be tagged or untagged. PREAUTH and BYE are always untagged. Status responses MAY include an OPTIONAL “response code” (see Code.)

Variants

Ok

Fields

tag: Option<Tag<'a>>

When tagged, it indicates successful completion of the associated command. The human-readable text MAY be presented to the user as an information message.

The untagged form indicates an information-only message; the nature of the information MAY be indicated by a response code.

The untagged form is also used as one of three possible greetings at connection startup. It indicates that the connection is not yet authenticated and that a LOGIN command is needed.

code: Option<Code<'a>>

Response code (optional)

text: Text<'a>

Human-readable text (must be at least 1 character!)

7.1.1. OK Response

The OK response indicates an information message from the server.

No

Fields

tag: Option<Tag<'a>>

When tagged, it indicates unsuccessful completion of the associated command. The untagged form indicates a warning; the command can still complete successfully.

code: Option<Code<'a>>

Response code (optional)

text: Text<'a>

The human-readable text describes the condition. (must be at least 1 character!)

7.1.2. NO Response

The NO response indicates an operational error message from the server.

Bad

Fields

tag: Option<Tag<'a>>

When tagged, it reports a protocol-level error in the client’s command; the tag indicates the command that caused the error. The untagged form indicates a protocol-level error for which the associated command can not be determined; it can also indicate an internal server failure.

code: Option<Code<'a>>

Response code (optional)

text: Text<'a>

The human-readable text describes the condition. (must be at least 1 character!)

7.1.3. BAD Response

The BAD response indicates an error message from the server.

Bye

Fields

code: Option<Code<'a>>

Response code (optional)

text: Text<'a>

The human-readable text MAY be displayed to the user in a status report by the client. (must be at least 1 character!)

7.1.5. BYE Response

The BYE response is always untagged, and indicates that the server is about to close the connection.

The BYE response is sent under one of four conditions:

  1. as part of a normal logout sequence. The server will close the connection after sending the tagged OK response to the LOGOUT command.

  2. as a panic shutdown announcement. The server closes the connection immediately.

  3. as an announcement of an inactivity autologout. The server closes the connection immediately.

  4. as one of three possible greetings at connection startup, indicating that the server is not willing to accept a connection from this client. The server closes the connection immediately.

The difference between a BYE that occurs as part of a normal LOGOUT sequence (the first case) and a BYE that occurs because of a failure (the other three cases) is that the connection closes immediately in the failure case. In all cases the client SHOULD continue to read response data from the server until the connection is closed; this will ensure that any pending untagged or completion responses are read and processed.

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Feeds this value into the given Hasher. Read more

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

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.

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

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.