Standalone chat protocol

This commit is contained in:
Tony Garnock-Jones 2023-02-04 16:27:31 +01:00
parent 837570844d
commit e0deaf3054
4 changed files with 13 additions and 1 deletions

View File

@ -21,3 +21,6 @@ pull-protocols:
-m 'Merge latest changes from the syndicate-protocols repository' \ -m 'Merge latest changes from the syndicate-protocols repository' \
git@git.syndicate-lang.org:syndicate-lang/syndicate-protocols \ git@git.syndicate-lang.org:syndicate-lang/syndicate-protocols \
main main
chat.bin: chat.prs
preserves-schemac .:chat.prs > $@

1
chat.bin Normal file
View File

@ -0,0 +1 @@
´³bundle·µ³chat„´³schema·³version³ definitions·³Says´³rec´³lit³Says„´³tupleµ´³named³who´³atom³String„„´³named³what´³atom³String„„„„„³Present´³rec´³lit³Present„´³tupleµ´³named³username´³atom³String„„„„„„³ embeddedType€„„„„

4
chat.prs Normal file
View File

@ -0,0 +1,4 @@
version 1 .
Present = <Present @username string>.
Says = <Says @who string @what string>.

View File

@ -4,7 +4,11 @@ import asyncio
import random import random
import syndicate import syndicate
from syndicate import patterns as P, actor, dataspace, turn from syndicate import patterns as P, actor, dataspace, turn
from syndicate.schema import simpleChatProtocol, sturdy
from syndicate.schema import sturdy
from preserves.schema import load_schema_file
simpleChatProtocol = load_schema_file('./chat.bin').chat
parser = argparse.ArgumentParser(description='Simple dataspace-server-mediated text chat.', parser = argparse.ArgumentParser(description='Simple dataspace-server-mediated text chat.',
formatter_class=argparse.ArgumentDefaultsHelpFormatter) formatter_class=argparse.ArgumentDefaultsHelpFormatter)