Skip to content

[3pt] streams are implemented in iproto #2307

Closed
@TarantoolBot

Description

@TarantoolBot

Product: Tarantool
Since: 2.10.0-beta1
Root document: https://www.tarantool.io/en/doc/latest/dev_guide/internals/box_protocol/
SME: @ EvgenyMekhanik

Details

A distinctive feature of streams is that all requests in them
are processed sequentially. The execution of the next request
in stream will not start until the previous one is completed.
To separate requests belonging to and not belonging to streams
we use stream ID field in binary iproto protocol: requests with
non-zero stream ID belongs to some stream. Stream ID is unique
within the connection and indicates which stream the request
belongs to. For streams from different connections, the IDs may
be the same.
There is no need to send special command to start stream: you
just only need to send request with non zero stream ID, server
creates stream if it is not exist and process this request in it.
Stream ID is generated on the client size. There is no stream ID
in responses: since the client generates a stream ID, and the client
knows for what request come this response, there is no need for this.

tarantool/tarantool@711cca1

Related to #2308

Metadata

Metadata

Assignees

Labels

featureA new functionalityiprotoRelated to the iproto protocolserver[area] Task relates to Tarantool's server (core) functionality

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions