class

RNS::WeaveDevice

Inherits Reference < Object

Central Weave device management. Handles remote device identity, authentication, endpoint discovery, and system statistics tracking.

Constants

STAT_UPDATE_THROTTLE = 0.5
STATLEN_MAX = 120
WEAVE_AUTH_LEN = WEAVE_ENDPOINT_ID_LEN + WEAVE_HMAC_LEN
WEAVE_ENDPOINT_ID_LEN = 8
WEAVE_FLOWSEQ_LEN = 2
WEAVE_HMAC_LEN = 8
WEAVE_PRVKEY_SIZE = 64
WEAVE_PUBKEY_SIZE = 32
WEAVE_SIGNATURE_LEN = 64
WEAVE_SWITCH_ID_LEN = 4

Constructors

new(as_interface : Bool = false, rns_interface : WeaveInterface | Nil = nil)
Source

Instance methods

active_tasks
Source
active_tasks=(active_tasks : Hash(String, Hash(String, Float64 | Int32)))
Source
as_interface
Source
as_interface=(as_interface : Bool)
Source
capture_stats_cpu
Source
capture_stats_memory
Source
connect_display
Source
connection
Source
connection=(conn : WeaveWDCLConnection)
Source
cpu_load
Source
cpu_load=(cpu_load : Int32)
Source
cpu_stats
Source
cpu_stats=(cpu_stats : Deque(Hash(String, Float64 | Int32)))
Source
deliver_packet(endpoint_id : Bytes, data : Bytes)
Source
disconnect_display
Source
discover
Source
display_buffer
Source
display_buffer=(display_buffer : Bytes)
Source
endpoint_alive(endpoint_id : Bytes)
Source
endpoint_id
Source
endpoint_id=(endpoint_id : Bytes | Nil)
Source
endpoint_via(endpoint_id : Bytes, via_switch_id : Bytes)
Source
endpoints
Source
endpoints=(endpoints : Hash(Bytes, WeaveEndpoint))
Source
get_active_tasks
Source
get_cpu_stats
Source
get_memory_stats
Source
handshake
Source
identity
Source
identity=(identity : Identity | Nil)
Source
incoming_frame(data : Bytes)
Source
log_handle(frame : WeaveLogFrame)
Source
log_queue
Source
log_queue=(log_queue : Deque(String))
Source
memory_free
Source
memory_free=(memory_free : Int64)
Source
memory_stats
Source
memory_stats=(memory_stats : Deque(Hash(String, Float64 | Int64)))
Source
memory_total
Source
memory_total=(memory_total : Int64)
Source
memory_used
Source
memory_used=(memory_used : Int64)
Source
memory_used_pct
Source
memory_used_pct=(memory_used_pct : Float64)
Source
next_update_cpu
Source
next_update_cpu=(next_update_cpu : Float64)
Source
next_update_memory
Source
next_update_memory=(next_update_memory : Float64)
Source
received_packet(source : Bytes, data : Bytes)
Source
rns_interface
Source
rns_interface=(rns_interface : WeaveInterface | Nil)
Source
switch_id
Source
switch_id=(switch_id : Bytes | Nil)
Source
update_display
Source
update_display=(update_display : Bool)
Source
wdcl_broadcast(packet_type : UInt8, data : Bytes)
Source
wdcl_send(packet_type : UInt8, data : Bytes)
Source
wdcl_send_command(command : UInt16, data : Bytes)
Source