Struct UsernamePasswordResponse
pub struct UsernamePasswordResponse {
pub version: UsernamePasswordSubnegotiationVersion,
pub status: u8,
}
Expand description
Response to the username-password request sent by the client.
he server verifies the supplied UNAME and PASSWD, and sends the following response:
+----+--------+
|VER | STATUS |
+----+--------+
| 1 | 1 |
+----+--------+
A STATUS field of X’00’ indicates success. If the server returns a `failure’ (STATUS value other than X’00’) status, it MUST close the connection.
Reference: https://datatracker.ietf.org/doc/html/rfc1929#section-2
Fields§
§version: UsernamePasswordSubnegotiationVersion
§status: u8
Implementations§
§impl UsernamePasswordResponse
impl UsernamePasswordResponse
pub fn new_success() -> UsernamePasswordResponse
pub fn new_success() -> UsernamePasswordResponse
Create a new UsernamePasswordResponse
to indicate success.
pub fn new_invalid_credentails() -> UsernamePasswordResponse
pub fn new_invalid_credentails() -> UsernamePasswordResponse
Create a new failure UsernamePasswordResponse
to indicate
the received credentials are partial or invalid otherwise.
pub fn new_user_not_found() -> UsernamePasswordResponse
pub fn new_user_not_found() -> UsernamePasswordResponse
Create a new failure UsernamePasswordResponse
to indicate
no user cound be found for the given credentials.
Create a new UsernamePasswordResponse
to indicate the user couldn’t be authorized
as the authorization used by the server is unavailable.
§impl UsernamePasswordResponse
impl UsernamePasswordResponse
pub async fn read_from<R>(
r: &mut R,
) -> Result<UsernamePasswordResponse, ProtocolError>where
R: AsyncRead + Unpin,
pub async fn read_from<R>(
r: &mut R,
) -> Result<UsernamePasswordResponse, ProtocolError>where
R: AsyncRead + Unpin,
Read the server UsernamePasswordResponse
, decoded from binary format as specified by RFC 1928 from the reader.
pub async fn write_to<W>(&self, w: &mut W) -> Result<(), Error>where
W: AsyncWrite + Unpin,
pub async fn write_to<W>(&self, w: &mut W) -> Result<(), Error>where
W: AsyncWrite + Unpin,
Write the server UsernamePasswordResponse
in binary format as specified by RFC 1928 into the writer.
pub fn write_to_buf<B>(&self, buf: &mut B)where
B: BufMut,
pub fn write_to_buf<B>(&self, buf: &mut B)where
B: BufMut,
Write the server UsernamePasswordResponse
in binary format as specified by RFC 1928 into the buffer.
Trait Implementations§
§impl Clone for UsernamePasswordResponse
impl Clone for UsernamePasswordResponse
§fn clone(&self) -> UsernamePasswordResponse
fn clone(&self) -> UsernamePasswordResponse
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for UsernamePasswordResponse
impl Debug for UsernamePasswordResponse
§impl PartialEq for UsernamePasswordResponse
impl PartialEq for UsernamePasswordResponse
impl Eq for UsernamePasswordResponse
impl StructuralPartialEq for UsernamePasswordResponse
Auto Trait Implementations§
impl Freeze for UsernamePasswordResponse
impl RefUnwindSafe for UsernamePasswordResponse
impl Send for UsernamePasswordResponse
impl Sync for UsernamePasswordResponse
impl Unpin for UsernamePasswordResponse
impl UnwindSafe for UsernamePasswordResponse
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§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> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy
that returns Action::Follow
only if self
and other
return
Action::Follow
. Read more