28 lines
783 B
Python
28 lines
783 B
Python
# scopes.core.environ
|
|
|
|
"""Defining an environment for the communication system"""
|
|
|
|
from scopes import core
|
|
from scopes.core import actor
|
|
from scopes.core.message import Message
|
|
from scopes.util import keywords as k
|
|
|
|
def create_env(meta_env: core.Mailbox) -> core.Mailbox:
|
|
scope = core.create_scope(meta_env, (k.env, k.c00),
|
|
program=core.gen_program({}, default=env_proc()))
|
|
return core.neuron(scope)
|
|
|
|
def env_proc() -> core.Proc:
|
|
return core.gen_proc(env_actions(), default=None, finalize=core.notify())
|
|
|
|
def handle_created() -> core.Handler:
|
|
async def handle(msg: Message, scope: core.Scope) -> Message:
|
|
return msg
|
|
return handle
|
|
|
|
def env_actions() -> core.Actions:
|
|
return {
|
|
k.created: handle_created(),
|
|
}
|
|
|
|
|