Exemple #1
0
    def setUp(self):
        self._test_messages = generate_test_messages(
        ) + generate_test_messages_binary()

        self._test_serializers = []

        # JSON serializer is always available
        self._test_serializers.append(serializer.JsonSerializer())
        self._test_serializers.append(serializer.JsonSerializer(batched=True))

        # MsgPack serializer is optional
        if hasattr(serializer, 'MsgPackSerializer'):
            self._test_serializers.append(serializer.MsgPackSerializer())
            self._test_serializers.append(
                serializer.MsgPackSerializer(batched=True))

        # CBOR serializer is optional
        if hasattr(serializer, 'CBORSerializer'):
            self._test_serializers.append(serializer.CBORSerializer())
            self._test_serializers.append(
                serializer.CBORSerializer(batched=True))

        # UBJSON serializer is optional
        if hasattr(serializer, 'UBJSONSerializer'):
            self._test_serializers.append(serializer.UBJSONSerializer())
            self._test_serializers.append(
                serializer.UBJSONSerializer(batched=True))

        print('Testing WAMP serializers {} with {} WAMP test messages'.format(
            [ser.SERIALIZER_ID for ser in self._test_serializers],
            len(self._test_messages)))
def create_serializers(decimal_support=False):
    _serializers = []

    _serializers.append(
        serializer.JsonSerializer(use_decimal_from_str=decimal_support))
    _serializers.append(
        serializer.JsonSerializer(batched=True,
                                  use_decimal_from_str=decimal_support))

    _serializers.append(serializer.CBORSerializer())
    _serializers.append(serializer.CBORSerializer(batched=True))

    if not decimal_support:
        # builtins.OverflowError: Integer value out of range
        _serializers.append(serializer.MsgPackSerializer())
        _serializers.append(serializer.MsgPackSerializer(batched=True))

        # roundtrip error
        _serializers.append(serializer.UBJSONSerializer())
        _serializers.append(serializer.UBJSONSerializer(batched=True))

    # FIXME: implement full FlatBuffers serializer for WAMP
    # WAMP-FlatBuffers currently only supports Python 3
    # _serializers.append(serializer.FlatBuffersSerializer())
    # _serializers.append(serializer.FlatBuffersSerializer(batched=True))

    return _serializers
    def setUp(self):
        self.serializers = []

        # JSON serializer is always available
        self.serializers.append(serializer.JsonSerializer())
        self.serializers.append(serializer.JsonSerializer(batched=True))

        # MsgPack serializers are optional
        if hasattr(serializer, 'MsgPackSerializer'):
            self.serializers.append(serializer.MsgPackSerializer())
            self.serializers.append(serializer.MsgPackSerializer(batched=True))
Exemple #4
0
    def setUp(self):
        self.serializers = []
        self.serializers.append(serializer.JsonSerializer())
        self.serializers.append(serializer.JsonSerializer(batched=True))

        self.serializers.append(serializer.MsgPackSerializer())

        try:
            self.serializers.append(serializer.MsgPackSerializer())
            self.serializers.append(serializer.MsgPackSerializer(batched=True))
        except Exception:
            ## MsgPack not installed
            pass
def create_serializers():
    _serializers = []

    _serializers.append(serializer.JsonSerializer())
    _serializers.append(serializer.JsonSerializer(batched=True))

    _serializers.append(serializer.MsgPackSerializer())
    _serializers.append(serializer.MsgPackSerializer(batched=True))

    _serializers.append(serializer.CBORSerializer())
    _serializers.append(serializer.CBORSerializer(batched=True))

    _serializers.append(serializer.UBJSONSerializer())
    _serializers.append(serializer.UBJSONSerializer(batched=True))

    # FIXME: implement full FlatBuffers serializer for WAMP
    # WAMP-FlatBuffers currently only supports Python 3
    # _serializers.append(serializer.FlatBuffersSerializer())
    # _serializers.append(serializer.FlatBuffersSerializer(batched=True))

    return _serializers
Exemple #6
0
    def __init__(self, handler):
        self._log = False
        self._handler = handler
        self._serializer = serializer.JsonSerializer()
        self._registrations = {}
        self._invocations = {}
        self._subscription_topics = {}
        self._my_session_id = util.id()

        self._handler.onOpen(self)

        roles = {u'broker': role.RoleBrokerFeatures(), u'dealer': role.RoleDealerFeatures()}

        msg = message.Welcome(self._my_session_id, roles)
        self._handler.onMessage(msg)
        def __init__(self, handler):
            self._log = False
            self._handler = handler
            self._serializer = serializer.JsonSerializer()
            self._registrations = {}
            self._invocations = {}
            #: str -> ID
            self._subscription_topics = {}

            self._handler.onOpen(self)

            self._my_session_id = util.id()

            roles = {'broker': role.RoleBrokerFeatures(), 'dealer': role.RoleDealerFeatures()}

            msg = message.Welcome(self._my_session_id, roles)
            self._handler.onMessage(msg)
            self._fake_router_session = ApplicationSession()

            self._transport_details = TransportDetails()
Exemple #8
0
            total_cnt += 1
        ended = time()

    return ended - started, total_bytes, total_cnt


if __name__ == '__main__':

    PROFILE_FILE = 'vmprof_{}_{}.dat'
    RUNTIME = 5

    tests = [test_serialize, test_unserialize]
    serializers = []

    # JSON serializer is always available
    serializers.append(serializer.JsonSerializer())
    #serializers.append(serializer.JsonSerializer(batched=True))

    # MsgPack serializers are optional
    if hasattr(serializer, 'MsgPackSerializer'):
        serializers.append(serializer.MsgPackSerializer())
        #serializers.append(serializer.MsgPackSerializer(batched=True))
    else:
        print("MsgPack not installed (pip install msgpack-python)")

    for test in tests:
        for ser in serializers:

            print("Running {} on serializer {} for {} seconds ..".format(
                test.__name__, ser.__class__, RUNTIME))
Exemple #9
0
 def setUp(self):
     self.serializers = []
     self.serializers.append(serializer.JsonSerializer())
     self.serializers.append(serializer.MsgPackSerializer())