Skip to content

Commit e3ad63a

Browse files
shveenkovbigbes
authored andcommitted
Add generate_sync method to tarantool.Connection class
1 parent 64eadc3 commit e3ad63a

File tree

4 files changed

+34
-4
lines changed

4 files changed

+34
-4
lines changed

tarantool/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ def connect(host="localhost", port=33013):
3737
'''
3838

3939
return Connection(host, port,
40+
user=None,
41+
password=None,
4042
socket_timeout=SOCKET_TIMEOUT,
4143
reconnect_max_attempts=RECONNECT_MAX_ATTEMPTS,
4244
reconnect_delay=RECONNECT_DELAY,

tarantool/connection.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -516,3 +516,9 @@ def space(self, space_name):
516516
:rtype: `Space` instance
517517
'''
518518
return Space(self, space_name)
519+
520+
def generate_sync(self):
521+
"""\
522+
Need override for async io connection
523+
"""
524+
return 0

tarantool/request.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,27 @@ class Request(object):
5252
def __init__(self, conn):
5353
self._bytes = None
5454
self.conn = conn
55+
self._sync = None
5556

5657
def __bytes__(self):
5758
return self._bytes
5859
__str__ = __bytes__
5960

60-
@classmethod
61-
def header(cls, length):
62-
header = msgpack.dumps({IPROTO_CODE: cls.request_type,
63-
IPROTO_SYNC: 0})
61+
@property
62+
def sync(self):
63+
'''\
64+
:type: int
65+
66+
Required field in the server request.
67+
Contains request header IPROTO_SYNC.
68+
'''
69+
return self._sync
70+
71+
def header(self, length):
72+
self._sync = self.conn.generate_sync()
73+
header = msgpack.dumps({IPROTO_CODE: self.request_type,
74+
IPROTO_SYNC: self._sync})
75+
6476
return msgpack.dumps(length + len(header)) + header
6577

6678

tarantool/response.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,16 @@ def code(self):
118118
'''
119119
return self._code
120120

121+
@property
122+
def sync(self):
123+
'''\
124+
:type: int
125+
126+
Required field in the server response.
127+
Contains response header IPROTO_SYNC.
128+
'''
129+
return self._sync
130+
121131
@property
122132
def return_code(self):
123133
'''

0 commit comments

Comments
 (0)