def send(self, message_type, content): LOGGER.debug("Client sending %s: %s", message_type, content) message = validator_pb2.Message(message_type=message_type, correlation_id=_generate_id(), content=content) my_future = future.Future(message.correlation_id) self._futures.put(my_future) self._send_receive_thread.send_message(message) return my_future
def send_txn(self, header, message): family_name = header.family_name family_version = header.family_version encoding = header.payload_encoding processor_type = processor_iterator.ProcessorType( family_name, family_version, encoding) if processor_type not in self._processors: raise Exception("internal error, no processor available") processor = self._processors[processor_type] message.sender = processor.sender fut = future.Future(message.correlation_id, message.content) self._futures.put(fut) self._send_receive_thread.send_message(message) return fut
def send_txn(self, header, message): print repr(header) family_name = header.family_name family_version = header.family_version encoding = header.payload_encoding key = (family_name, family_version, encoding) print repr(key) print repr(self._processors.keys()) if key not in self._processors.keys(): raise Exception("internal error, no processor available") # Choose a random processor of the type processor = random.choice(self._processors[key]) peer = processor[0] if peer not in self._send_queues: raise Exception("internal error, no send queue available") self._send_queues[peer].put(message) fut = future.Future(message.correlation_id) self._futures.put(fut) return fut
def broadcast_message(self, message): self._send_receive_thread.broadcast_message(message) fut = future.Future(message.correlation_id) self._futures.put(fut) return fut
def send_message(self, message): LOGGER.debug("Client sending message %s", message) my_future = future.Future(message.correlation_id) self._futures.put(my_future) self._send_receive_thread.send_message(message) return my_future