Struct showdown::SendMessage
source · [−]pub struct SendMessage(_);
Implementations
sourceimpl SendMessage
impl SendMessage
sourcepub fn global_command(command: impl Display) -> Self
pub fn global_command(command: impl Display) -> Self
Creates a global command.
Example
use futures::{SinkExt, StreamExt};
use showdown::message::{Kind, QueryResponse};
use showdown::{Result, RoomId, SendMessage, Stream};
#[tokio::main]
async fn main() -> Result<()> {
let mut stream = Stream::connect("showdown").await?;
stream.send(SendMessage::global_command("cmd rooms")).await?;
while let Some(received) = stream.next().await {
if let Kind::QueryResponse(QueryResponse::Rooms(rooms)) = received?.kind() {
assert!(rooms
.official
.iter()
.any(|room| room.title == "Tournaments"));
return Ok(());
}
}
panic!("Server didn't provide a list of rooms")
}
sourcepub fn chat_message(room_id: RoomId<'_>, message: impl Display) -> Self
pub fn chat_message(room_id: RoomId<'_>, message: impl Display) -> Self
Creates a chat room message.
sourcepub fn chat_command(room_id: RoomId<'_>, command: impl Display) -> Self
pub fn chat_command(room_id: RoomId<'_>, command: impl Display) -> Self
Creates a command that executes in a chat room.
Examples
use futures::{SinkExt, StreamExt};
use showdown::message::{Kind, QueryResponse};
use showdown::{Result, RoomId, SendMessage, Stream};
#[tokio::main]
async fn main() -> Result<()> {
let mut stream = Stream::connect("showdown").await?;
stream.send(SendMessage::global_command("join lobby")).await?;
stream.send(SendMessage::chat_command(RoomId::LOBBY, "roomdesc")).await;
while let Some(message) = stream.next().await {
if let Kind::Html(html) = message?.kind() {
assert!(html.contains("Relax here amidst the chaos."));
return Ok(());
}
}
panic!("Server didn't provide a room description")
}
pub fn broadcast_command(room_id: RoomId<'_>, command: impl Display) -> Self
Trait Implementations
sourceimpl Clone for SendMessage
impl Clone for SendMessage
sourcefn clone(&self) -> SendMessage
fn clone(&self) -> SendMessage
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for SendMessage
impl Debug for SendMessage
sourceimpl PartialEq<SendMessage> for SendMessage
impl PartialEq<SendMessage> for SendMessage
sourcefn eq(&self, other: &SendMessage) -> bool
fn eq(&self, other: &SendMessage) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &SendMessage) -> bool
fn ne(&self, other: &SendMessage) -> bool
This method tests for !=
.
sourceimpl Sink<SendMessage> for Stream
impl Sink<SendMessage> for Stream
sourcefn poll_ready(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>
fn poll_ready(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>
Attempts to prepare the Sink
to receive a value. Read more
sourcefn start_send(self: Pin<&mut Self>, item: SendMessage) -> Result<()>
fn start_send(self: Pin<&mut Self>, item: SendMessage) -> Result<()>
Begin the process of sending a value to the sink.
Each call to this function must be preceded by a successful call to
poll_ready
which returned Poll::Ready(Ok(()))
. Read more
impl Eq for SendMessage
impl StructuralEq for SendMessage
impl StructuralPartialEq for SendMessage
Auto Trait Implementations
impl RefUnwindSafe for SendMessage
impl Send for SendMessage
impl Sync for SendMessage
impl Unpin for SendMessage
impl UnwindSafe for SendMessage
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcepub fn equivalent(&self, key: &K) -> bool
pub fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more