class

RNS::WeaveInterface

Inherits RNS::Interface < Reference < Object

Primary Weave interface for the Reticulum network stack. Manages WDCL serial connections and spawns WeaveInterfacePeer instances for each discovered remote endpoint.

Constants

BITRATE_GUESS = 250_i64 * 1000
DEFAULT_IFAC_SIZE = 16
FIXED_MTU_FLAG = true
HW_MTU_VALUE = 1024
MULTI_IF_DEQUE_LEN = 48
MULTI_IF_DEQUE_TTL = 0.75
PEERING_TIMEOUT = 20.0

Constructors

new(name : String, port : String, switch_identity : Identity)

Test constructor

Source
new(configuration : Hash(String, String))
Source

Instance methods

add_peer(endpoint_addr : Bytes)
Source
connection
Source
cpu_load
Source
detach

Called when the interface is being detached/removed

Source
device
Source
dir_in
Source
dir_in=(dir_in : Bool)
Source
dir_out
Source
dir_out=(dir_out : Bool)
Source
endpoint_id
Source
endpoint_via(endpoint_addr : Bytes, via_switch_addr : Bytes)
Source
final_init

Called after interface configuration is complete

Source
final_init_done
Source
final_init_done=(final_init_done : Bool)
Source
hw_errors
Source
hw_errors=(hw_errors : Array(String))
Source
mem_load
Source
mif_deque
Source
mif_deque=(mif_deque : Deque(Bytes))
Source
mif_deque_times
Source
mif_deque_times=(mif_deque_times : Deque(Tuple(Bytes, Float64)))
Source
online
Source
online=(value : Bool)
Source
peer_count
Source
peer_job_interval
Source
peer_job_interval=(peer_job_interval : Float64)
Source
peer_jobs
Source
peer_spawned_interfaces
Source
peer_spawned_interfaces=(peer_spawned_interfaces : Hash(Bytes, WeaveInterfacePeer))
Source
peering_timeout
Source
peering_timeout=(peering_timeout : Float64)
Source
peers
Source
peers=(peers : Hash(Bytes, Array(Bytes | Float64 | WeaveInterfacePeer)))
Source
port
Source
port=(port : String)
Source
process_incoming(data : Bytes, endpoint_addr : Bytes | Nil = nil)
Source
process_outgoing(data : Bytes)

Send data out through the interface. Subclasses must implement this.

Source
refresh_peer(endpoint_addr : Bytes)
Source
switch_id
Source
switch_identity
Source
switch_identity=(switch_identity : Identity)
Source
timed_out_interfaces
Source
timed_out_interfaces=(timed_out_interfaces : Hash(Bytes, WeaveInterfacePeer))
Source
to_s(io : IO)

Appends a short String representation of this object which includes its class name and its object address.

class Person
  def initialize(@name : String, @age : Int32)
  end
end

Person.new("John", 32).to_s # => #<Person:0x10a199f20>
Source
write_lock
Source
write_lock=(write_lock : Mutex)
Source