Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3pt] Document IPROTO_ID request #2419

Closed
Tracked by #2646 ...
Totktonada opened this issue Nov 9, 2021 · 0 comments · Fixed by #2898
Closed
Tracked by #2646 ...

[3pt] Document IPROTO_ID request #2419

Totktonada opened this issue Nov 9, 2021 · 0 comments · Fixed by #2898
Assignees
Labels
feature A new functionality iproto Related to the iproto protocol server [area] Task relates to Tarantool's server (core) functionality

Comments

@Totktonada
Copy link
Member

Totktonada commented Nov 9, 2021

Product: Tarantool
Since: 2.10.0-beta2
Audience/target: developers
Root document: https://www.tarantool.io/en/doc/latest/dev_guide/internals/box_protocol/
SME: @ locker

Details

The new request code is 73. It takes a map in the body with the
following keys:

  • IPROTO_VERSION (0x54) - protocol version (unsigned).
  • IPROTO_FEATURES (0x55) - array of protocol feature ids (unsigned).

A client (connector) can send this request to let the server know about
the protocol version and features it supports. The server may enable or
disable certain functionality basing on the features supported by the
client. In reply to the request, the server sends an IPROTO_OK response,
in the body of which it reports its own protocol version and features
(the format of the response body is the same as the request body).
The request doesn't need authentication to pass.

Currently, the actual protocol version is 1 3 and there are two four features
defined:

  • IPROTO_FEATURE_STREAMS - streams support (IPROTO_STREAM_ID header
    key), id = 0.
  • IPROTO_FEATURE_TRANSACTIONS - transactions support (IPROTO_BEGIN,
    IPROTO_COMMIT, IPROTO_ROLLBACK commands), id = 1.
  • IPROTO_FEATURE_ERROR_EXTENSION, id = 2,
  • IPROTO_FEATURE_WATCHERS, id = 3

Requested by @locker in tarantool/tarantool@0be1faf

UPD 2022-05-30: As of Tarantool 2.10, the protocol version is 3. New features added since version 1:

  • IPROTO_FEATURE_ERROR_EXTENSION = 2,
  • IPROTO_FEATURE_WATCHERS = 3
@veod32 veod32 added this to the Estimate [@veod32] milestone Dec 29, 2021
@veod32 veod32 added server [area] Task relates to Tarantool's server (core) functionality feature A new functionality iproto Related to the iproto protocol labels Dec 29, 2021
@veod32 veod32 changed the title Document IPROTO_ID request [3pt] Document IPROTO_ID request Dec 29, 2021
@veod32 veod32 removed this from the Estimate [@veod32] milestone Dec 29, 2021
@p7nov p7nov self-assigned this May 26, 2022
p7nov added a commit that referenced this issue May 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A new functionality iproto Related to the iproto protocol server [area] Task relates to Tarantool's server (core) functionality
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants