def onMessage(self, payload, isBinary): if isBinary: print ("Binary message received: {0} bytes".format(len(payload))) else: readHandlers = marshal.getReadHandlers( localTargets, lambda targetId, v: self.sanitySend(("put!", targetId, v)), lambda targetId: self.sanitySend(("close!", targetId)), remoteResources, ) reader = Reader(TRANSIT_ENCODING) for tag, handler in readHandlers.items(): reader.register(tag, handler) msg = reader.read(StringIO(payload)) cmd, targetId, val = msg if cmd == "put!" or cmd == "close!": if targetId in localTargets: channelMarshal = localTargets[targetId] if cmd == "put!": channelMarshal.ch.put(val) elif cmd == "close!": channelMarshal.ch.close() if channelMarshal.useOnce: channelMarshal.ch.release() else: print "Unrecognized target! " + target else: print "Unrecognized command! " + cmdStr
def from_transit(in_data, protocol): io = StringIO(in_data) reader = Reader(protocol) reader.register("testobj", TestObjHandler) return Reader(protocol).read(io)
def onMessage(self, payload, isBinary): if isBinary: print("Binary message received: {0} bytes".format( len(payload))) else: readHandlers = marshal.getReadHandlers( localTargets, lambda targetId, v: self.sanitySend( ('put!', targetId, v)), lambda targetId: self.sanitySend( ('close!', targetId)), remoteResources) reader = Reader(TRANSIT_ENCODING) for tag, handler in readHandlers.items(): reader.register(tag, handler) msg = reader.read(StringIO(payload)) cmd, targetId, val = msg if cmd == 'put!' or cmd == 'close!': if targetId in localTargets: channelMarshal = localTargets[targetId] if cmd == 'put!': channelMarshal.ch.put(val) elif cmd == 'close!': channelMarshal.ch.close() if channelMarshal.useOnce: channelMarshal.ch.release() else: print "Unrecognized target! " + target else: print "Unrecognized command! " + cmdStr
def read_transit_handle(handle, handlers=None): reader = Reader("json") if handlers: for tag, handler in handlers.items(): reader.register(tag, handler) return reader.read(handle)