Keep hold of a room's name.
This commit is contained in:
parent
fe6171201f
commit
69ee05d88c
|
@ -9,6 +9,7 @@
|
||||||
(require "standard-thread.rkt")
|
(require "standard-thread.rkt")
|
||||||
|
|
||||||
(provide make-room
|
(provide make-room
|
||||||
|
room-name
|
||||||
join-room
|
join-room
|
||||||
|
|
||||||
;; Management and communication
|
;; Management and communication
|
||||||
|
@ -26,7 +27,7 @@
|
||||||
|
|
||||||
(struct credit (who amount) #:prefab) ;; give someone an amount of credit
|
(struct credit (who amount) #:prefab) ;; give someone an amount of credit
|
||||||
|
|
||||||
(struct room (ch))
|
(struct room (name ch))
|
||||||
|
|
||||||
(struct room-state (name ch members) #:transparent)
|
(struct room-state (name ch members) #:transparent)
|
||||||
(struct binding (name ;; any
|
(struct binding (name ;; any
|
||||||
|
@ -42,7 +43,7 @@
|
||||||
(define (make-room [name (gensym 'room)])
|
(define (make-room [name (gensym 'room)])
|
||||||
(define ch (make-channel))
|
(define ch (make-channel))
|
||||||
(thread (lambda () (room-main (room-state name ch '()))))
|
(thread (lambda () (room-main (room-state name ch '()))))
|
||||||
(room ch))
|
(room name ch))
|
||||||
|
|
||||||
(define (join-room room [name (gensym 'peer)] #:break-on-departure? [break-on-departure? #f])
|
(define (join-room room [name (gensym 'peer)] #:break-on-departure? [break-on-departure? #f])
|
||||||
(make-object membership% (room-ch room) name break-on-departure?))
|
(make-object membership% (room-ch room) name break-on-departure?))
|
||||||
|
|
Loading…
Reference in New Issue