Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit cf3741c

Browse files
committed
Follow updates on pyzmq 13.0.0
- XREP/XREQ constants are now definitively replaced by ROUTER/DEALER. - Some weird getattr/setattr magic were added to pyzmq, which makes inheriting from pyzmq classes annoyingly frustrating, especially: - zmq.Context: solved by defined attributes wiht None, at the class level. - zmq.Socket: solved by using self.__dict__ directly.
1 parent b20a612 commit cf3741c

File tree

11 files changed

+82
-65
lines changed

11 files changed

+82
-65
lines changed

tests/test_buffered_channel.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@
3333

3434
def test_close_server_bufchan():
3535
endpoint = random_ipc_endpoint()
36-
server_events = zerorpc.Events(zmq.XREP)
36+
server_events = zerorpc.Events(zmq.ROUTER)
3737
server_events.bind(endpoint)
3838
server = zerorpc.ChannelMultiplexer(server_events)
3939

40-
client_events = zerorpc.Events(zmq.XREQ)
40+
client_events = zerorpc.Events(zmq.DEALER)
4141
client_events.connect(endpoint)
4242
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
4343

@@ -65,11 +65,11 @@ def test_close_server_bufchan():
6565

6666
def test_close_client_bufchan():
6767
endpoint = random_ipc_endpoint()
68-
server_events = zerorpc.Events(zmq.XREP)
68+
server_events = zerorpc.Events(zmq.ROUTER)
6969
server_events.bind(endpoint)
7070
server = zerorpc.ChannelMultiplexer(server_events)
7171

72-
client_events = zerorpc.Events(zmq.XREQ)
72+
client_events = zerorpc.Events(zmq.DEALER)
7373
client_events.connect(endpoint)
7474
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
7575

@@ -97,11 +97,11 @@ def test_close_client_bufchan():
9797

9898
def test_heartbeat_can_open_channel_server_close():
9999
endpoint = random_ipc_endpoint()
100-
server_events = zerorpc.Events(zmq.XREP)
100+
server_events = zerorpc.Events(zmq.ROUTER)
101101
server_events.bind(endpoint)
102102
server = zerorpc.ChannelMultiplexer(server_events)
103103

104-
client_events = zerorpc.Events(zmq.XREQ)
104+
client_events = zerorpc.Events(zmq.DEALER)
105105
client_events.connect(endpoint)
106106
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
107107

@@ -127,11 +127,11 @@ def test_heartbeat_can_open_channel_server_close():
127127

128128
def test_heartbeat_can_open_channel_client_close():
129129
endpoint = random_ipc_endpoint()
130-
server_events = zerorpc.Events(zmq.XREP)
130+
server_events = zerorpc.Events(zmq.ROUTER)
131131
server_events.bind(endpoint)
132132
server = zerorpc.ChannelMultiplexer(server_events)
133133

134-
client_events = zerorpc.Events(zmq.XREQ)
134+
client_events = zerorpc.Events(zmq.DEALER)
135135
client_events.connect(endpoint)
136136
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
137137

@@ -157,11 +157,11 @@ def test_heartbeat_can_open_channel_client_close():
157157

158158
def test_do_some_req_rep():
159159
endpoint = random_ipc_endpoint()
160-
server_events = zerorpc.Events(zmq.XREP)
160+
server_events = zerorpc.Events(zmq.ROUTER)
161161
server_events.bind(endpoint)
162162
server = zerorpc.ChannelMultiplexer(server_events)
163163

164-
client_events = zerorpc.Events(zmq.XREQ)
164+
client_events = zerorpc.Events(zmq.DEALER)
165165
client_events.connect(endpoint)
166166
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
167167

@@ -201,11 +201,11 @@ def server_do():
201201

202202
def test_do_some_req_rep_lost_server():
203203
endpoint = random_ipc_endpoint()
204-
server_events = zerorpc.Events(zmq.XREP)
204+
server_events = zerorpc.Events(zmq.ROUTER)
205205
server_events.bind(endpoint)
206206
server = zerorpc.ChannelMultiplexer(server_events)
207207

208-
client_events = zerorpc.Events(zmq.XREQ)
208+
client_events = zerorpc.Events(zmq.DEALER)
209209
client_events.connect(endpoint)
210210
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
211211

@@ -247,11 +247,11 @@ def server_do():
247247

248248
def test_do_some_req_rep_lost_client():
249249
endpoint = random_ipc_endpoint()
250-
server_events = zerorpc.Events(zmq.XREP)
250+
server_events = zerorpc.Events(zmq.ROUTER)
251251
server_events.bind(endpoint)
252252
server = zerorpc.ChannelMultiplexer(server_events)
253253

254-
client_events = zerorpc.Events(zmq.XREQ)
254+
client_events = zerorpc.Events(zmq.DEALER)
255255
client_events.connect(endpoint)
256256
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
257257

@@ -294,11 +294,11 @@ def server_do():
294294

295295
def test_do_some_req_rep_client_timeout():
296296
endpoint = random_ipc_endpoint()
297-
server_events = zerorpc.Events(zmq.XREP)
297+
server_events = zerorpc.Events(zmq.ROUTER)
298298
server_events.bind(endpoint)
299299
server = zerorpc.ChannelMultiplexer(server_events)
300300

301-
client_events = zerorpc.Events(zmq.XREQ)
301+
client_events = zerorpc.Events(zmq.DEALER)
302302
client_events.connect(endpoint)
303303
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
304304

@@ -345,11 +345,11 @@ class CongestionError(Exception):
345345

346346
def test_congestion_control_server_pushing():
347347
endpoint = random_ipc_endpoint()
348-
server_events = zerorpc.Events(zmq.XREP)
348+
server_events = zerorpc.Events(zmq.ROUTER)
349349
server_events.bind(endpoint)
350350
server = zerorpc.ChannelMultiplexer(server_events)
351351

352-
client_events = zerorpc.Events(zmq.XREQ)
352+
client_events = zerorpc.Events(zmq.DEALER)
353353
client_events.connect(endpoint)
354354
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
355355

tests/test_channel.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@
3030

3131
def test_events_channel_client_side():
3232
endpoint = random_ipc_endpoint()
33-
server_events = zerorpc.Events(zmq.XREP)
33+
server_events = zerorpc.Events(zmq.ROUTER)
3434
server_events.bind(endpoint)
3535
server = zerorpc.ChannelMultiplexer(server_events)
3636

37-
client_events = zerorpc.Events(zmq.XREQ)
37+
client_events = zerorpc.Events(zmq.DEALER)
3838
client_events.connect(endpoint)
3939
client = zerorpc.ChannelMultiplexer(client_events)
4040

@@ -55,11 +55,11 @@ def test_events_channel_client_side():
5555

5656
def test_events_channel_client_side_server_send_many():
5757
endpoint = random_ipc_endpoint()
58-
server_events = zerorpc.Events(zmq.XREP)
58+
server_events = zerorpc.Events(zmq.ROUTER)
5959
server_events.bind(endpoint)
6060
server = zerorpc.ChannelMultiplexer(server_events)
6161

62-
client_events = zerorpc.Events(zmq.XREQ)
62+
client_events = zerorpc.Events(zmq.DEALER)
6363
client_events.connect(endpoint)
6464
client = zerorpc.ChannelMultiplexer(client_events)
6565

@@ -82,11 +82,11 @@ def test_events_channel_client_side_server_send_many():
8282

8383
def test_events_channel_both_side():
8484
endpoint = random_ipc_endpoint()
85-
server_events = zerorpc.Events(zmq.XREP)
85+
server_events = zerorpc.Events(zmq.ROUTER)
8686
server_events.bind(endpoint)
8787
server = zerorpc.ChannelMultiplexer(server_events)
8888

89-
client_events = zerorpc.Events(zmq.XREQ)
89+
client_events = zerorpc.Events(zmq.DEALER)
9090
client_events.connect(endpoint)
9191
client = zerorpc.ChannelMultiplexer(client_events)
9292

tests/test_events.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,10 +131,10 @@ def test_events_req_rep2():
131131

132132
def test_events_dealer_router():
133133
endpoint = random_ipc_endpoint()
134-
server = zerorpc.Events(zmq.XREP)
134+
server = zerorpc.Events(zmq.ROUTER)
135135
server.bind(endpoint)
136136

137-
client = zerorpc.Events(zmq.XREQ)
137+
client = zerorpc.Events(zmq.DEALER)
138138
client.connect(endpoint)
139139

140140
for i in xrange(6):

tests/test_heartbeat.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@
3333

3434
def test_close_server_hbchan():
3535
endpoint = random_ipc_endpoint()
36-
server_events = zerorpc.Events(zmq.XREP)
36+
server_events = zerorpc.Events(zmq.ROUTER)
3737
server_events.bind(endpoint)
3838
server = zerorpc.ChannelMultiplexer(server_events)
3939

40-
client_events = zerorpc.Events(zmq.XREQ)
40+
client_events = zerorpc.Events(zmq.DEALER)
4141
client_events.connect(endpoint)
4242
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
4343

@@ -63,11 +63,11 @@ def test_close_server_hbchan():
6363

6464
def test_close_client_hbchan():
6565
endpoint = random_ipc_endpoint()
66-
server_events = zerorpc.Events(zmq.XREP)
66+
server_events = zerorpc.Events(zmq.ROUTER)
6767
server_events.bind(endpoint)
6868
server = zerorpc.ChannelMultiplexer(server_events)
6969

70-
client_events = zerorpc.Events(zmq.XREQ)
70+
client_events = zerorpc.Events(zmq.DEALER)
7171
client_events.connect(endpoint)
7272
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
7373

@@ -93,11 +93,11 @@ def test_close_client_hbchan():
9393

9494
def test_heartbeat_can_open_channel_server_close():
9595
endpoint = random_ipc_endpoint()
96-
server_events = zerorpc.Events(zmq.XREP)
96+
server_events = zerorpc.Events(zmq.ROUTER)
9797
server_events.bind(endpoint)
9898
server = zerorpc.ChannelMultiplexer(server_events)
9999

100-
client_events = zerorpc.Events(zmq.XREQ)
100+
client_events = zerorpc.Events(zmq.DEALER)
101101
client_events.connect(endpoint)
102102
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
103103

@@ -121,11 +121,11 @@ def test_heartbeat_can_open_channel_server_close():
121121

122122
def test_heartbeat_can_open_channel_client_close():
123123
endpoint = random_ipc_endpoint()
124-
server_events = zerorpc.Events(zmq.XREP)
124+
server_events = zerorpc.Events(zmq.ROUTER)
125125
server_events.bind(endpoint)
126126
server = zerorpc.ChannelMultiplexer(server_events)
127127

128-
client_events = zerorpc.Events(zmq.XREQ)
128+
client_events = zerorpc.Events(zmq.DEALER)
129129
client_events.connect(endpoint)
130130
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
131131

@@ -149,11 +149,11 @@ def test_heartbeat_can_open_channel_client_close():
149149

150150
def test_do_some_req_rep():
151151
endpoint = random_ipc_endpoint()
152-
server_events = zerorpc.Events(zmq.XREP)
152+
server_events = zerorpc.Events(zmq.ROUTER)
153153
server_events.bind(endpoint)
154154
server = zerorpc.ChannelMultiplexer(server_events)
155155

156-
client_events = zerorpc.Events(zmq.XREQ)
156+
client_events = zerorpc.Events(zmq.DEALER)
157157
client_events.connect(endpoint)
158158
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
159159

@@ -191,11 +191,11 @@ def server_do():
191191

192192
def test_do_some_req_rep_lost_server():
193193
endpoint = random_ipc_endpoint()
194-
server_events = zerorpc.Events(zmq.XREP)
194+
server_events = zerorpc.Events(zmq.ROUTER)
195195
server_events.bind(endpoint)
196196
server = zerorpc.ChannelMultiplexer(server_events)
197197

198-
client_events = zerorpc.Events(zmq.XREQ)
198+
client_events = zerorpc.Events(zmq.DEALER)
199199
client_events.connect(endpoint)
200200
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
201201

@@ -235,11 +235,11 @@ def server_do():
235235

236236
def test_do_some_req_rep_lost_client():
237237
endpoint = random_ipc_endpoint()
238-
server_events = zerorpc.Events(zmq.XREP)
238+
server_events = zerorpc.Events(zmq.ROUTER)
239239
server_events.bind(endpoint)
240240
server = zerorpc.ChannelMultiplexer(server_events)
241241

242-
client_events = zerorpc.Events(zmq.XREQ)
242+
client_events = zerorpc.Events(zmq.DEALER)
243243
client_events.connect(endpoint)
244244
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
245245

@@ -280,11 +280,11 @@ def server_do():
280280

281281
def test_do_some_req_rep_client_timeout():
282282
endpoint = random_ipc_endpoint()
283-
server_events = zerorpc.Events(zmq.XREP)
283+
server_events = zerorpc.Events(zmq.ROUTER)
284284
server_events.bind(endpoint)
285285
server = zerorpc.ChannelMultiplexer(server_events)
286286

287-
client_events = zerorpc.Events(zmq.XREQ)
287+
client_events = zerorpc.Events(zmq.DEALER)
288288
client_events.connect(endpoint)
289289
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
290290

tests/test_server.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ def add(self, a, b):
4646
srv.bind(endpoint)
4747
gevent.spawn(srv.run)
4848

49-
client_events = zerorpc.Events(zmq.XREQ)
49+
client_events = zerorpc.Events(zmq.DEALER)
5050
client_events.connect(endpoint)
5151
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
5252

@@ -176,7 +176,7 @@ class MySrv(zerorpc.Server):
176176
srv.bind(endpoint)
177177
gevent.spawn(srv.run)
178178

179-
client_events = zerorpc.Events(zmq.XREQ)
179+
client_events = zerorpc.Events(zmq.DEALER)
180180
client_events.connect(endpoint)
181181
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
182182

tests/test_wrapped_events.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@
3232

3333
def test_sub_events():
3434
endpoint = random_ipc_endpoint()
35-
server_events = zerorpc.Events(zmq.XREP)
35+
server_events = zerorpc.Events(zmq.ROUTER)
3636
server_events.bind(endpoint)
3737
server = zerorpc.ChannelMultiplexer(server_events)
3838

39-
client_events = zerorpc.Events(zmq.XREQ)
39+
client_events = zerorpc.Events(zmq.DEALER)
4040
client_events.connect(endpoint)
4141
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
4242

@@ -64,11 +64,11 @@ def test_sub_events():
6464

6565
def test_multiple_sub_events():
6666
endpoint = random_ipc_endpoint()
67-
server_events = zerorpc.Events(zmq.XREP)
67+
server_events = zerorpc.Events(zmq.ROUTER)
6868
server_events.bind(endpoint)
6969
server = zerorpc.ChannelMultiplexer(server_events)
7070

71-
client_events = zerorpc.Events(zmq.XREQ)
71+
client_events = zerorpc.Events(zmq.DEALER)
7272
client_events.connect(endpoint)
7373
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
7474

@@ -118,11 +118,11 @@ def test_multiple_sub_events():
118118
def test_recursive_multiplexer():
119119
endpoint = random_ipc_endpoint()
120120

121-
server_events = zerorpc.Events(zmq.XREP)
121+
server_events = zerorpc.Events(zmq.ROUTER)
122122
server_events.bind(endpoint)
123123
servermux = zerorpc.ChannelMultiplexer(server_events)
124124

125-
client_events = zerorpc.Events(zmq.XREQ)
125+
client_events = zerorpc.Events(zmq.DEALER)
126126
client_events.connect(endpoint)
127127
clientmux = zerorpc.ChannelMultiplexer(client_events,
128128
ignore_broadcast=True)

tests/zmqbug.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ def responder():
130130

131131

132132
def client():
133-
socket = ZMQSocket(zmq_context, zmq.XREQ)
133+
socket = ZMQSocket(zmq_context, zmq.DEALER)
134134
socket.connect('ipc://zmqbug')
135135

136136
class Cnt:

zerorpc/context.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,17 @@
3232
class Context(zmq.Context):
3333
_instance = None
3434

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+
3544
def __init__(self):
45+
super(zmq.Context, self).__init__()
3646
self._middlewares = []
3747
self._hooks = {
3848
'resolve_endpoint': [],

zerorpc/core.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ class Server(SocketBase, ServerBase):
260260

261261
def __init__(self, methods=None, name=None, context=None, pool_size=None,
262262
heartbeat=5):
263-
SocketBase.__init__(self, zmq.XREP, context)
263+
SocketBase.__init__(self, zmq.ROUTER, context)
264264
if methods is None:
265265
methods = self
266266

@@ -278,7 +278,7 @@ class Client(SocketBase, ClientBase):
278278

279279
def __init__(self, connect_to=None, context=None, timeout=30, heartbeat=5,
280280
passive_heartbeat=False):
281-
SocketBase.__init__(self, zmq.XREQ, context=context)
281+
SocketBase.__init__(self, zmq.DEALER, context=context)
282282
ClientBase.__init__(self, self._events, context, timeout, heartbeat,
283283
passive_heartbeat)
284284
if connect_to:

0 commit comments

Comments
 (0)