21
21
from tarantool .response import Response
22
22
from tarantool .request import (
23
23
Request ,
24
+ RequestOK ,
24
25
RequestCall ,
25
26
RequestDelete ,
26
27
RequestEval ,
52
53
NetworkWarning )
53
54
54
55
from .schema import Schema
55
- from .utils import check_key , greeting_decode
56
+ from .utils import check_key , greeting_decode , version_id
56
57
57
58
58
59
class Connection (object ):
@@ -357,8 +358,13 @@ def authenticate(self, user, password):
357
358
358
359
def join (self , server_uuid ):
359
360
request = RequestJoin (self , server_uuid )
361
+ sync = request ._sync
360
362
resp = self ._send_request (request )
361
363
while True :
364
+ if self .version_id >= version_id (1 , 7 , 0 ):
365
+ # Send acknowledgement
366
+ ack = RequestOK (self , sync )
367
+ self ._socket .sendall (bytes (ack ))
362
368
yield resp
363
369
if resp .code == REQUEST_TYPE_OK or resp .code >= REQUEST_TYPE_ERROR :
364
370
return
@@ -368,8 +374,13 @@ def join(self, server_uuid):
368
374
def subscribe (self , cluster_uuid , server_uuid , vclock = {}):
369
375
# FIXME rudnyh: ^ 'vclock={}'? really? sure?
370
376
request = RequestSubscribe (self , cluster_uuid , server_uuid , vclock )
377
+ sync = request ._sync
371
378
resp = self ._send_request (request )
372
379
while True :
380
+ if self .version_id >= version_id (1 , 7 , 0 ):
381
+ # Send acknowledgement
382
+ ack = RequestOK (self , sync )
383
+ self ._socket .sendall (bytes (ack ))
373
384
yield resp
374
385
if resp .code >= REQUEST_TYPE_ERROR :
375
386
return
0 commit comments