running-servers get adjoin ;
: remove-running-server ( threaded-server -- )
- must-be-running
+ ! must-be-running
running-servers get delete ;
PRIVATE>
GENERIC: (>insecure) ( obj -- obj )
M: inet (>insecure) ;
+M: inet4 (>insecure) ;
+M: inet6 (>insecure) ;
M: local (>insecure) ;
M: integer (>insecure) internet-server ;
M: string (>insecure) internet-server ;
: insecure-port ( -- n/f ) [ addr>> secure? not ] first-port ;
+: secure-addr ( -- inet )
+ threaded-server get servers>> [ addr>> secure? ] filter random ;
+
+: insecure-addr ( -- inet )
+ threaded-server get servers>> [ addr>> secure? not ] filter random addr>> ;
+
: server. ( threaded-server -- )
[ [ "=== " write name>> ] [ ] bi write-object nl ]
[ servers>> [ addr>> present print ] each ] bi ;
: all-servers ( -- sequence )
running-servers get-global members ;
+: get-servers-named ( string -- sequence )
+ [ all-servers ] dip '[ name>> _ = ] filter ;
+
: servers. ( -- )
all-servers [ server. ] each ;