diff options
Diffstat (limited to 'src/cmd/cast.rs')
-rw-r--r-- | src/cmd/cast.rs | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/cmd/cast.rs b/src/cmd/cast.rs index bea3655..042ebd8 100644 --- a/src/cmd/cast.rs +++ b/src/cmd/cast.rs @@ -1,7 +1,13 @@ use snafu::ResultExt as _; #[derive(Debug, snafu::Snafu)] -pub enum Error {} +pub enum Error { + #[snafu(display("failed to connect: {}", source))] + Connect { source: std::io::Error }, + + #[snafu(display("failed to write message: {}", source))] + Write { source: crate::protocol::Error }, +} pub type Result<T> = std::result::Result<T, Error>; @@ -14,5 +20,10 @@ pub fn run<'a>(_matches: &clap::ArgMatches<'a>) -> super::Result<()> { } fn run_impl() -> Result<()> { - unimplemented!() + let sock = + std::net::TcpStream::connect("127.0.0.1:8000").context(Connect)?; + let msg = crate::protocol::Message::start_casting("doy"); + msg.write(sock).context(Write)?; + println!("wrote message successfully"); + Ok(()) } |