forge/blade/lib/comms.py (20 lines of code) (raw):
from forge.blade.action import action, v2
def isInt(x):
return type(x) in (float, int) and int(x) == x
class CommChannel:
def __init__(self):
self.outbox = []
self.inbox = []
def put(self, update):
if len(update) > 0:
self.outbox.append(update)
def get(self):
inbox = self.inbox
self.inbox = []
return inbox
def send(self):
outbox = self.outbox
self.outbox = []
return outbox
def recv(self, updates):
self.inbox += updates