32
32
class Context (zmq .Context ):
33
33
_instance = None
34
34
35
- # Since pyzmq 13.0.0 implicit assignation is forbidden. Thankfully we are
36
- # allowed to define our attributes here, and initialize them per instance
37
- # later.
38
- _middlewares = None
39
- _hooks = None
40
- _msg_id_base = None
41
- _msg_id_counter = None
42
- _msg_id_counter_stop = None
43
-
44
35
def __init__ (self ):
45
36
super (zmq .Context , self ).__init__ ()
46
37
self ._middlewares = []
@@ -57,6 +48,50 @@ def __init__(self):
57
48
}
58
49
self ._reset_msgid ()
59
50
51
+ # NOTE: pyzmq 13.0.0 messed up with setattr (they turned it into a
52
+ # non-op) and you can't assign attributes normally anymore, hence the
53
+ # tricks with self.__dict__ here
54
+
55
+ @property
56
+ def _middlewares (self ):
57
+ return self .__dict__ ['_middlewares' ]
58
+
59
+ @_middlewares .setter
60
+ def _middlewares (self , value ):
61
+ self .__dict__ ['_middlewares' ] = value
62
+
63
+ @property
64
+ def _hooks (self ):
65
+ return self .__dict__ ['_hooks' ]
66
+
67
+ @_hooks .setter
68
+ def _hooks (self , value ):
69
+ self .__dict__ ['_hooks' ] = value
70
+
71
+ @property
72
+ def _msg_id_base (self ):
73
+ return self .__dict__ ['_msg_id_base' ]
74
+
75
+ @_msg_id_base .setter
76
+ def _msg_id_base (self , value ):
77
+ self .__dict__ ['_msg_id_base' ] = value
78
+
79
+ @property
80
+ def _msg_id_counter (self ):
81
+ return self .__dict__ ['_msg_id_counter' ]
82
+
83
+ @_msg_id_counter .setter
84
+ def _msg_id_counter (self , value ):
85
+ self .__dict__ ['_msg_id_counter' ] = value
86
+
87
+ @property
88
+ def _msg_id_counter_stop (self ):
89
+ return self .__dict__ ['_msg_id_counter_stop' ]
90
+
91
+ @_msg_id_counter_stop .setter
92
+ def _msg_id_counter_stop (self , value ):
93
+ self .__dict__ ['_msg_id_counter_stop' ] = value
94
+
60
95
@staticmethod
61
96
def get_instance ():
62
97
if Context ._instance is None :
0 commit comments