Crates.io | wasmcloud-actor-telnet |
lib.rs | wasmcloud-actor-telnet |
version | 0.2.0 |
source | src |
created_at | 2021-02-10 16:02:25.774574 |
updated_at | 2021-04-06 15:13:08.579337 |
description | Actor interface for the wasmCloud telnet capability provider |
homepage | |
repository | |
max_upload_size | |
id | 353271 |
size | 10,906 |
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.
extern crate wasmcloud_actor_telnet as telnet;
extern crate wasmcloud_actor_core as actorcore;
use wapc_guest::HandlerResult;
#[no_mangle]
pub fn wapc_init() {
telnet::Handlers::register_session_started(session_started);
telnet::Handlers::register_receive_text(receive_text);
actorcore::Handlers::register_health_request(health);
}
fn session_started(session: String) -> HandlerResult<bool> {
let _ = telnet::default().send_text(session, "Welcome to the Interwebs!\n".to_string());
Ok(true)
}
fn receive_text(session: String, text: String) -> HandlerResult<bool> {
let _ = telnet::default().send_text(session, format!("Echo: {}\n", text));
Ok(true)
}
fn health(_h: core::HealthCheckRequest) -> HandlerResult<core::HealthCheckResponse> {
Ok(core::HealthCheckResponse::healthy())
}