def ProtoEncodeDecode(): s = jobs_pb2.GrrMessage( name=u"foo", request_id=1, response_id=1, session_id=u"session") data = s.SerializeToString() new_s = jobs_pb2.GrrMessage() new_s.ParseFromString(data) return s, new_s
def testEncode(self): """Comparing encoding speed of a typical protobuf.""" s = jobs_pb2.GrrMessage(name=u"foo", request_id=1, response_id=1, session_id=u"session") serialized = s.SerializeToString() def ProtoEncode(): s1 = jobs_pb2.GrrMessage(name=u"foo", request_id=1, response_id=1, session_id=u"session") test = s1.SerializeToString() self.assertLen(serialized, len(test)) def RDFStructEncode(): s2 = StructGrrMessage(name=u"foo", request_id=1, response_id=1, session_id=u"session") test = s2.SerializeToBytes() self.assertLen(serialized, len(test)) self.TimeIt(RDFStructEncode) self.TimeIt(ProtoEncode)
def testDecode(self): """Test decoding performance.""" s = jobs_pb2.GrrMessage(name=u"foo", request_id=1, response_id=1, session_id=u"session") data = s.SerializeToString() def ProtoDecode(): new_s = jobs_pb2.GrrMessage() new_s.ParseFromString(data) self.assertEqual(new_s.session_id, "session") self.assertEqual(new_s.session_id.__class__, unicode) def RDFStructDecode(): new_s = StructGrrMessage() new_s.ParseFromString(data) self.assertEqual(new_s.session_id, "session") self.assertEqual(new_s.session_id.__class__, unicode) self.TimeIt(RDFStructDecode) self.TimeIt(ProtoDecode)
def ProtoEncode(): s1 = jobs_pb2.GrrMessage(name=u"foo", request_id=1, response_id=1, session_id=u"session") test = s1.SerializeToString() self.assertLen(serialized, len(test))
def StoreMessage(fs_msg: common_pb2.Message): """Emulates sending of a message to Fleetspeak by storing it in-memory.""" if not fs_msg.destination.client_id: raise ValueError("No destination set for Fleetspeak message:\n%s" % fs_msg) grr_id = fleetspeak_utils.FleetspeakIDToGRRID(fs_msg.destination.client_id) raw_grr_msg = jobs_pb2.GrrMessage() fs_msg.data.Unpack(raw_grr_msg) grr_msg = rdf_flows.GrrMessage.FromSerializedBytes( raw_grr_msg.SerializeToString()) with _message_lock: try: _messages_by_client_id[grr_id].append(grr_msg) except KeyError: _messages_by_client_id[grr_id] = collections.deque([grr_msg])
def testDecodeEncode(self): """Test performance of decode/encode cycle.""" s = jobs_pb2.GrrMessage( name=u"foo", request_id=1, response_id=1, session_id=u"session") data = s.SerializeToString() def ProtoDecodeEncode(): new_s = jobs_pb2.GrrMessage() new_s.ParseFromString(data) new_s.SerializeToString() def RDFStructDecodeEncode(): new_s = StructGrrMessage.FromSerializedString(data) new_s.SerializeToString() self.TimeIt(RDFStructDecodeEncode) self.TimeIt(ProtoDecodeEncode)
def ProtoDecodeEncode(): new_s = jobs_pb2.GrrMessage() new_s.ParseFromString(data) new_s.SerializeToString()
def ProtoDecode(): new_s = jobs_pb2.GrrMessage() new_s.ParseFromString(data) self.assertEqual(new_s.session_id, "session") self.assertEqual(new_s.session_id.__class__, unicode)
def ProtoCreateAndSerialize(): s = jobs_pb2.GrrMessage( name=u"foo", request_id=1, response_id=1, session_id=u"session") return len(s.SerializeToString())
def ProtoDecode(): new_s = jobs_pb2.GrrMessage() new_s.ParseFromString(data) self.assertEqual(new_s.session_id, "session") self.assertIsInstance(new_s.session_id, Text)
def SendCallback(fs_msg): pb_msg = jobs_pb2.GrrMessage() fs_msg.data.Unpack(pb_msg) msg = rdf_flows.GrrMessage.FromSerializedString( pb_msg.SerializeToString()) client_mock.mock_task_queue.append(msg)