file system roles w messages
This commit is contained in:
parent
1b7d5a2330
commit
dcc6bbcbe7
|
@ -0,0 +1,34 @@
|
|||
#lang typed/syndicate/roles
|
||||
|
||||
(define-constructor (file name content)
|
||||
#:type-constructor FileT
|
||||
#:with File (FileT String String))
|
||||
|
||||
(define-type-alias FileDemand
|
||||
(Observe (FileT String ★/t)))
|
||||
|
||||
(define-constructor (save name content)
|
||||
#:type-constructor SaveT
|
||||
#:with Save (SaveT String String))
|
||||
|
||||
(define-constructor (delete name)
|
||||
#:type-constructor DeleteT
|
||||
#:with Delete (DeleteT String))
|
||||
|
||||
;; unique role
|
||||
(define-type-alias Server
|
||||
(Role (server)
|
||||
(Reacts (Know FileDemand)
|
||||
(Role (_)
|
||||
(Shares File)))
|
||||
(Reacts (Message Save))
|
||||
(Reacts (Message Delete))))
|
||||
|
||||
(define-type-alias Reader
|
||||
(Role (reader)
|
||||
(Shares FileDemand)))
|
||||
|
||||
(define-type-alias Writer
|
||||
(Role (writer)
|
||||
(Sends Save)
|
||||
(Sends Delete)))
|
Loading…
Reference in New Issue