fix error handling in managed-server

Doug Coleman 2009-05-30 15:50:08 -05:00
parent a06d8bfc9a
commit 934e4463da
1 changed files with 7 additions and 8 deletions

View File

@ -14,15 +14,14 @@ input-stream output-stream local-address remote-address
username object quit? ; username object quit? ;
HOOK: handle-login threaded-server ( -- username ) HOOK: handle-login threaded-server ( -- username )
HOOK: handle-managed-client* managed-server ( -- )
HOOK: handle-already-logged-in managed-server ( -- ) HOOK: handle-already-logged-in managed-server ( -- )
HOOK: handle-client-join managed-server ( -- ) HOOK: handle-client-join managed-server ( -- )
HOOK: handle-client-disconnect managed-server ( -- ) HOOK: handle-client-disconnect managed-server ( -- )
HOOK: handle-managed-client* managed-server ( -- )
M: managed-server handle-already-logged-in ; M: managed-server handle-already-logged-in ;
M: managed-server handle-client-join ; M: managed-server handle-client-join ;
M: managed-server handle-client-disconnect ; M: managed-server handle-client-disconnect ;
M: managed-server handle-managed-client* ;
: server ( -- managed-client ) managed-server get ; : server ( -- managed-client ) managed-server get ;
: client ( -- managed-client ) managed-client get ; : client ( -- managed-client ) managed-client get ;
@ -76,17 +75,17 @@ ERROR: already-logged-in username ;
username server clients>> delete-at ; username server clients>> delete-at ;
: handle-managed-client ( -- ) : handle-managed-client ( -- )
[ [ handle-managed-client* client quit?>> not ] loop ] handle-login <managed-client> managed-client set
[ delete-managed-client handle-client-disconnect ] add-managed-client handle-client-join
[ ] cleanup ; [ handle-managed-client* client quit?>> not ] loop ;
PRIVATE> PRIVATE>
M: managed-server handle-client* M: managed-server handle-client*
managed-server set managed-server set
handle-login <managed-client> managed-client set [ handle-managed-client ]
add-managed-client [ delete-managed-client handle-client-disconnect ]
handle-client-join handle-managed-client ; [ ] cleanup ;
: new-managed-server ( port name class -- server ) : new-managed-server ( port name class -- server )
new-threaded-server new-threaded-server