2121from tarantool .response import Response
2222from tarantool .request import (
2323 Request ,
24+ RequestOK ,
2425 RequestCall ,
2526 RequestDelete ,
2627 RequestEval ,
5253 NetworkWarning )
5354
5455from .schema import Schema
55- from .utils import check_key , greeting_decode
56+ from .utils import check_key , greeting_decode , version_id
5657
5758
5859class Connection (object ):
@@ -357,8 +358,13 @@ def authenticate(self, user, password):
357358
358359 def join (self , server_uuid ):
359360 request = RequestJoin (self , server_uuid )
361+ sync = request ._sync
360362 resp = self ._send_request (request )
361363 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 ))
362368 yield resp
363369 if resp .code == REQUEST_TYPE_OK or resp .code >= REQUEST_TYPE_ERROR :
364370 return
@@ -368,8 +374,13 @@ def join(self, server_uuid):
368374 def subscribe (self , cluster_uuid , server_uuid , vclock = {}):
369375 # FIXME rudnyh: ^ 'vclock={}'? really? sure?
370376 request = RequestSubscribe (self , cluster_uuid , server_uuid , vclock )
377+ sync = request ._sync
371378 resp = self ._send_request (request )
372379 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 ))
373384 yield resp
374385 if resp .code >= REQUEST_TYPE_ERROR :
375386 return
0 commit comments