clean: Remove old session related classes

This commit is contained in:
Swann
2019-02-13 10:02:20 +01:00
parent 51686f85a8
commit 55631776bd
2 changed files with 0 additions and 162 deletions

View File

@ -10,87 +10,6 @@ import random
logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.DEBUG)
class Session():
def __init__(self, host='127.0.0.1', port=5555, is_hosting=False):
self.host = host
self.port = port
self.is_running = False
# init zmq context
self.context = zmq.Context()
self.socket = None
self.msg = []
# self.listen.add_done_callback(self.close_success())
# TODO: Add a kill signal to destroy clients session
# TODO: Add a join method
# TODO: Add a create session method
def join(self):
logger.info("joinning {}:{}".format(self.host, self.port))
try:
self.socket = self.context.socket(zmq.DEALER)
self.socket.connect("tcp://localhost:5555")
self.listen = asyncio.ensure_future(self.listen())
self.send("XXX connected")
return True
except zmq.ZMQError:
logger.error("Error while joining {}:{}".format(
self.host, self.port))
return False
# TODO: Find better names
def create(self):
logger.info("Creating session")
try:
self.socket = self.context.socket(zmq.ROUTER)
self.socket.bind("tcp://*:5555")
self.listen = asyncio.ensure_future(self.listen())
return True
except zmq.ZMQError:
logger.error("Error while creating session: ", zmq.ZMQError)
return False
async def listen(self):
logger.info("Listening on {}:{}".format(self.host, self.port))
self.is_running = True
while True:
# Ungly blender workaround to prevent blocking...
await asyncio.sleep(0.016)
try:
buffer = self.socket.recv(zmq.NOBLOCK)
message = umsgpack.unpackb(buffer)
if message is not 0:
self.socket.send(umsgpack.packb(0))
self.msg.append()
except zmq.ZMQError:
pass
def send(self, msg):
logger.info("Sending {} to {}:{} ".format(msg, self.host, self.port))
self.msg.append(msg)
bin = umsgpack.packb(msg)
self.socket.send(bin)
async def close_success(self):
self.is_running = False
def close(self):
logger.info("Closing session")
self.socket.close()
self.listen.cancel()
del self.listen
self.is_running = False
class Client():
def __init__(self, context=zmq.Context(), id="default", recv_callback=None):

View File

@ -5,91 +5,10 @@ import logging
logger = logging.getLogger(__name__)
session = None
client = None
server = None
context = None
# SESSION Operators
class join(bpy.types.Operator):
bl_idname = "session.join"
bl_label = "join"
bl_description = "Connect to a net session"
bl_options = {"REGISTER"}
@classmethod
def poll(cls, context):
return True
def execute(self, context):
# global session
if session.join():
bpy.ops.asyncio.loop()
else:
print('fail to create session, avorting loop')
return {"FINISHED"}
class create(bpy.types.Operator):
bl_idname = "session.create"
bl_label = "create"
bl_description = "create to a net session"
bl_options = {"REGISTER"}
@classmethod
def poll(cls, context):
return True
def execute(self, context):
global session
if session.create():
bpy.ops.asyncio.loop()
else:
print('fail to create session, avorting loop')
return {"FINISHED"}
class send(bpy.types.Operator):
bl_idname = "session.send"
bl_label = "Send"
bl_description = "Connect to a net session"
bl_options = {"REGISTER"}
message: bpy.props.StringProperty(default="Hi")
@classmethod
def poll(cls, context):
return True
def execute(self, context):
global session
session.send(self.message)
return {"FINISHED"}
class close(bpy.types.Operator):
bl_idname = "session.close"
bl_label = "Close session"
bl_description = "Connect to a net session"
bl_options = {"REGISTER"}
@classmethod
def poll(cls, context):
return True
def execute(self, context):
global session
session.close()
bpy.ops.asyncio.stop()
return {"FINISHED"}
# CLIENT-SERVER
def refresh_window():
import bpy