Connection registry for long-lived peers (gateway / 5k sessions). **Runtime status:** hosted backends have no epoll/kqueue/IOCP ncall (`rt_net` is dial/listen/accept + blocking conn_*). A readiness poller needs runtime support (poll(2) / kqueue / IOCP). v1 is a registry + cooperative helpers * add / remove / count * read_timeout applies a deadline then reads Pair with `timer.Wheel` for heartbeats. Swap for readiness events when the runtime exposes poll.
struct Poller
XuAPI
pubstruct Poller {
}
Purpose
Connection registry for long-lived peers (gateway / 5k sessions). **Runtime status:** hosted backends have no epoll/kqueue/IOCP ncall (`rt_net` is dial/listen/accept + blocking conn_*). A readiness poller needs runtime support (poll(2) / kqueue / IOCP). v1 is a registry + cooperative helpers * add / remove / count * read_timeout applies a deadline then reads Pair with `timer.Wheel` for heartbeats. Swap for readiness events when the runtime exposes poll.
Parameters
none
new
XuAPI
pubfn new() Poller
Purpose
new creates an empty registry.
Parameters
none
Returns
Poller — a value of this type
(&mut Poller) add
XuAPI
pubfn (p &mut Poller) add(s stream.Stream) int
Purpose
add registers a stream. Returns a stable id (>0).
Parameters
p&mut Poller
receiver &mut Poller (exclusive borrow)
sstream.Stream
source string (stream.Stream)
Returns
int — a value of this type
(&mut Poller) remove
XuAPI
pubfn (p &mut Poller) remove(id int) bool
Purpose
remove drops id. Returns true if it existed.
Parameters
p&mut Poller
receiver &mut Poller (exclusive borrow)
idint
id (int)
Returns
bool — true or false
(Poller) count
XuAPI
pubfn (p Poller) count() int
Purpose
Method on `Poller`: count non-overlapping occurrences.