Files
@ 4e67f9e9f027
Branch filter:
Location: OneEye/src/util.py - annotation
4e67f9e9f027
757 B
text/x-python
Engine.listRelevantMoves
5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 782476e472ab 782476e472ab 782476e472ab 782476e472ab 782476e472ab 782476e472ab 782476e472ab 5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 928d9a0edc05 5f4489f36388 5f4489f36388 5f4489f36388 5f4489f36388 | import multiprocessing
import logging as log
EMPTY=0
BLACK=1
WHITE=-1
colorNames={BLACK:"B",WHITE:"W"}
class MsgQueue:
def __init__(self,handler=None):
self._queue=multiprocessing.Queue()
self._event=multiprocessing.Event()
self._handleEvent=handler
def send(self,actionName,args=tuple(),kwargs=None):
if kwargs is None: kwargs=dict()
self._queue.put((actionName,args,kwargs))
self._event.set()
def listen(self,handleEvent=None):
if handleEvent is not None: self._handleEvent=handleEvent
while True:
self._event.wait()
msg=self._queue.get()
if self._queue.empty():
self._event.clear()
log.info(msg)
if msg[0]=="!kill": break
self._handleEvent(msg)
def setHandler(self,handler):
self._handleEvent=handler
|