1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
//! # Telnet Server wasmCloud Actor Interface //! //! This crate provides an abstraction over the `wasmcloud:telnet` contract. This allows //! actors to be notified when a new telnet session has started and when text has been //! received on a given session. Actors can also emit text to a specific session, which //! ultimately correlates to an individual connected socket client. //! //! # Example: //! ``` //! extern crate wasmcloud_actor_telnet as telnet; //! extern crate wasmcloud_actor_core as actorcore; //! use telnet::TelnetResult; //! use wapc_guest::HandlerResult; //! //! #[actorcore::init] //! pub fn init() { //! telnet::Handlers::register_session_started(session_started); //! telnet::Handlers::register_receive_text(receive_text); //! } //! //! fn session_started(session: String) -> HandlerResult<TelnetResult> { //! let _ = telnet::default().send_text(session, "Welcome to the Interwebs!\n".to_string()); //! Ok(TelnetResult { //! success: true, //! error: None, //! }) //! } //! fn receive_text(session: String, text: String) -> HandlerResult<TelnetResult> { //! let _ = telnet::default().send_text(session, format!("Echo: {}\n", text)); //! Ok(TelnetResult { //! success: true, //! error: None, //! }) //! } //! //! ``` #[allow(dead_code)] mod generated; pub use generated::*; pub const OP_SEND_TEXT: &str = "SendText"; pub const OP_SESSION_STARTED: &str = "SessionStarted"; pub const OP_RECEIVE_TEXT: &str = "ReceiveText";