Add common stuff and week 1 materials

This commit is contained in:
2026-09-07 14:27:33 +03:00
parent 5ca5489c8e
commit bc8d2d44b6
17 changed files with 1889 additions and 0 deletions
@@ -0,0 +1,46 @@
from anysystem import Context, Message, Process
class PingClient(Process):
def __init__(self, proc_id: str, server_id: str):
self._id = proc_id
self._server_id = server_id
def on_local_message(self, msg: Message, ctx: Context):
# process messages from the local user
if msg.type == 'PING':
ctx.send(msg, self._server_id)
def on_start(self, ctx: Context):
pass
def on_message(self, msg: Message, sender: str, ctx: Context):
# process messages from the server
if msg.type == 'PONG':
ctx.send_local(msg)
def on_timer(self, timer_name: str, ctx: Context):
# process fired timers
pass
class PingServer(Process):
def __init__(self, proc_id: str):
self._id = proc_id
def on_local_message(self, msg: Message, ctx: Context):
# process messages from the local user (not used in this example)
pass
def on_start(self, ctx: Context):
pass
def on_message(self, msg: Message, sender: str, ctx: Context):
# process messages from the client
if msg.type == 'PING':
pong = Message('PONG', {'value': msg['value']})
ctx.send(pong, sender)
def on_timer(self, timer_name: str, ctx: Context):
# process fired timers
pass