def encode_request(name, txn_id, thread_id, key): buf = create_initial_buffer(_REQUEST_INITIAL_FRAME_SIZE, _REQUEST_MESSAGE_TYPE) FixSizedTypesCodec.encode_uuid(buf, _REQUEST_TXN_ID_OFFSET, txn_id) FixSizedTypesCodec.encode_long(buf, _REQUEST_THREAD_ID_OFFSET, thread_id) StringCodec.encode(buf, name) DataCodec.encode(buf, key, True) return OutboundMessage(buf, False)
def encode_request(name, predicate, include_value, listener_flags, local_only): buf = create_initial_buffer(_REQUEST_INITIAL_FRAME_SIZE, _REQUEST_MESSAGE_TYPE) FixSizedTypesCodec.encode_boolean(buf, _REQUEST_INCLUDE_VALUE_OFFSET, include_value) FixSizedTypesCodec.encode_int(buf, _REQUEST_LISTENER_FLAGS_OFFSET, listener_flags) FixSizedTypesCodec.encode_boolean(buf, _REQUEST_LOCAL_ONLY_OFFSET, local_only) StringCodec.encode(buf, name) DataCodec.encode(buf, predicate, True) return OutboundMessage(buf, False)
def encode_request(name, key, value, ttl): buf = create_initial_buffer(_REQUEST_INITIAL_FRAME_SIZE, _REQUEST_MESSAGE_TYPE) FixSizedTypesCodec.encode_long(buf, _REQUEST_TTL_OFFSET, ttl) StringCodec.encode(buf, name) DataCodec.encode(buf, key) DataCodec.encode(buf, value, True) return OutboundMessage(buf, False)
def encode_request(group_id, name, function, return_value_type): buf = create_initial_buffer(_REQUEST_INITIAL_FRAME_SIZE, _REQUEST_MESSAGE_TYPE) FixSizedTypesCodec.encode_int(buf, _REQUEST_RETURN_VALUE_TYPE_OFFSET, return_value_type) RaftGroupIdCodec.encode(buf, group_id) StringCodec.encode(buf, name) DataCodec.encode(buf, function, True) return OutboundMessage(buf, False)
def encode_request(name, key, predicate, local_only): buf = create_initial_buffer(_REQUEST_INITIAL_FRAME_SIZE, _REQUEST_MESSAGE_TYPE) FixSizedTypesCodec.encode_boolean(buf, _REQUEST_LOCAL_ONLY_OFFSET, local_only) StringCodec.encode(buf, name) DataCodec.encode(buf, key) DataCodec.encode(buf, predicate, True) return OutboundMessage(buf, False)
def encode_request(name, uuid, callable, member_uuid): buf = create_initial_buffer(_REQUEST_INITIAL_FRAME_SIZE, _REQUEST_MESSAGE_TYPE) FixSizedTypesCodec.encode_uuid(buf, _REQUEST_UUID_OFFSET, uuid) FixSizedTypesCodec.encode_uuid(buf, _REQUEST_MEMBER_UUID_OFFSET, member_uuid) StringCodec.encode(buf, name) DataCodec.encode(buf, callable, True) return OutboundMessage(buf, False)
def encode_request(name, key, thread_id, ttl, reference_id): buf = create_initial_buffer(_REQUEST_INITIAL_FRAME_SIZE, _REQUEST_MESSAGE_TYPE) FixSizedTypesCodec.encode_long(buf, _REQUEST_THREAD_ID_OFFSET, thread_id) FixSizedTypesCodec.encode_long(buf, _REQUEST_TTL_OFFSET, ttl) FixSizedTypesCodec.encode_long(buf, _REQUEST_REFERENCE_ID_OFFSET, reference_id) StringCodec.encode(buf, name) DataCodec.encode(buf, key, True) return OutboundMessage(buf, True)
def test_data(self): self.mark_initial_frame_as_non_final() data = Data("123456789".encode("utf-8")) DataCodec.encode(self.buf, data) DataCodec.encode_nullable(self.buf, data) DataCodec.encode_nullable(self.buf, None, True) message = self.write_and_decode() message.next_frame() # initial frame self.assertEqual(data, DataCodec.decode(message)) self.assertEqual(data, DataCodec.decode_nullable(message)) self.assertIsNone(DataCodec.decode_nullable(message))
def decode(msg): msg.next_frame() initial_frame = msg.next_frame() cost = FixSizedTypesCodec.decode_long(initial_frame.buf, _COST_DECODE_OFFSET) creation_time = FixSizedTypesCodec.decode_long(initial_frame.buf, _CREATION_TIME_DECODE_OFFSET) expiration_time = FixSizedTypesCodec.decode_long(initial_frame.buf, _EXPIRATION_TIME_DECODE_OFFSET) hits = FixSizedTypesCodec.decode_long(initial_frame.buf, _HITS_DECODE_OFFSET) last_access_time = FixSizedTypesCodec.decode_long(initial_frame.buf, _LAST_ACCESS_TIME_DECODE_OFFSET) last_stored_time = FixSizedTypesCodec.decode_long(initial_frame.buf, _LAST_STORED_TIME_DECODE_OFFSET) last_update_time = FixSizedTypesCodec.decode_long(initial_frame.buf, _LAST_UPDATE_TIME_DECODE_OFFSET) version = FixSizedTypesCodec.decode_long(initial_frame.buf, _VERSION_DECODE_OFFSET) ttl = FixSizedTypesCodec.decode_long(initial_frame.buf, _TTL_DECODE_OFFSET) max_idle = FixSizedTypesCodec.decode_long(initial_frame.buf, _MAX_IDLE_DECODE_OFFSET) key = DataCodec.decode(msg) value = DataCodec.decode(msg) CodecUtil.fast_forward_to_end_frame(msg) return SimpleEntryView(key, value, cost, creation_time, expiration_time, hits, last_access_time, last_stored_time, last_update_time, version, ttl, max_idle)
def encode(buf, simple_entry_view, is_final=False): initial_frame_buf = create_initial_buffer_custom(_INITIAL_FRAME_SIZE) FixSizedTypesCodec.encode_long(initial_frame_buf, _COST_ENCODE_OFFSET, simple_entry_view.cost) FixSizedTypesCodec.encode_long(initial_frame_buf, _CREATION_TIME_ENCODE_OFFSET, simple_entry_view.creation_time) FixSizedTypesCodec.encode_long(initial_frame_buf, _EXPIRATION_TIME_ENCODE_OFFSET, simple_entry_view.expiration_time) FixSizedTypesCodec.encode_long(initial_frame_buf, _HITS_ENCODE_OFFSET, simple_entry_view.hits) FixSizedTypesCodec.encode_long(initial_frame_buf, _LAST_ACCESS_TIME_ENCODE_OFFSET, simple_entry_view.last_access_time) FixSizedTypesCodec.encode_long(initial_frame_buf, _LAST_STORED_TIME_ENCODE_OFFSET, simple_entry_view.last_stored_time) FixSizedTypesCodec.encode_long(initial_frame_buf, _LAST_UPDATE_TIME_ENCODE_OFFSET, simple_entry_view.last_update_time) FixSizedTypesCodec.encode_long(initial_frame_buf, _VERSION_ENCODE_OFFSET, simple_entry_view.version) FixSizedTypesCodec.encode_long(initial_frame_buf, _TTL_ENCODE_OFFSET, simple_entry_view.ttl) FixSizedTypesCodec.encode_long(initial_frame_buf, _MAX_IDLE_ENCODE_OFFSET, simple_entry_view.max_idle) buf.extend(initial_frame_buf) DataCodec.encode(buf, simple_entry_view.key) DataCodec.encode(buf, simple_entry_view.value) if is_final: buf.extend(END_FINAL_FRAME_BUF) else: buf.extend(END_FRAME_BUF)
def handle(msg, handle_topic_event=None): message_type = msg.get_message_type() if message_type == _EVENT_TOPIC_MESSAGE_TYPE and handle_topic_event is not None: initial_frame = msg.next_frame() publish_time = FixSizedTypesCodec.decode_long( initial_frame.buf, _EVENT_TOPIC_PUBLISH_TIME_OFFSET) uuid = FixSizedTypesCodec.decode_uuid(initial_frame.buf, _EVENT_TOPIC_UUID_OFFSET) item = DataCodec.decode(msg) handle_topic_event(item, publish_time, uuid) return
def encode_request(name, predicate): buf = create_initial_buffer(_REQUEST_INITIAL_FRAME_SIZE, _REQUEST_MESSAGE_TYPE) StringCodec.encode(buf, name) DataCodec.encode(buf, predicate, True) return OutboundMessage(buf, False)