Skip to content

Create connection from socket fd #304

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

Closed
locker opened this issue Jul 31, 2023 · 0 comments · Fixed by #316
Closed

Create connection from socket fd #304

locker opened this issue Jul 31, 2023 · 0 comments · Fixed by #316
Assignees
Labels
2sp feature A new functionality teamE

Comments

@locker
Copy link
Member

locker commented Jul 31, 2023

Currently, to create a connection, the user has to specify a URI. The connector creates a socket and connects it to the given URI under the hood. There are use cases when the user doesn't have a URI but does have a connected socket fd. For example, a socket fd could be inherited from the parent process on fork. We need a way to wrap a raw socket fd number in a connection object.

For more details see the IPROTO over socketpair design document.

@DifferentialOrange DifferentialOrange added feature A new functionality teamE labels Aug 18, 2023
@LeonidVas LeonidVas added the 2sp label Sep 12, 2023
@askalt askalt self-assigned this Oct 31, 2023
askalt added a commit that referenced this issue Oct 31, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

Closes #304
@askalt askalt mentioned this issue Oct 31, 2023
2 tasks
askalt added a commit that referenced this issue Oct 31, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

Closes #304
askalt added a commit that referenced this issue Oct 31, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

Closes #304
askalt added a commit that referenced this issue Oct 31, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

Closes #304
askalt added a commit that referenced this issue Nov 1, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

Closes #304
askalt added a commit that referenced this issue Nov 1, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

Closes #304
askalt added a commit that referenced this issue Nov 1, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

The authentication [1] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

1. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 2, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

The authentication [1] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

1. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 2, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

The authentication [1] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd` and sets the specified timeout.

1. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 2, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

The authentication [1] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd` and sets the specified timeout.

1. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 2, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

The authentication [1] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd` and sets the specified timeout.

1. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 2, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

The authentication [1] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd` and sets the specified timeout.

1. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 2, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

The authentication [1] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd` and sets the specified timeout.

1. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 2, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

The authentication [1] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd` and sets the specified timeout.

1. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 2, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

The authentication [1] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd` and sets the specified timeout.

1. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 2, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

The authentication [1] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd` and sets the specified timeout.

1. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 2, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

The authentication [1] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd` and sets the specified timeout.

1. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 2, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

The authentication [1] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd`.

1. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 2, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

The authentication [1] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd`.

1. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 3, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

To achieve this, several changes have been made to work with
non-blocking sockets, as `socket.socketpair` creates such [1].

The authentication [2] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd`.

1. tarantool/tarantool#8944
2. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 3, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

To achieve this, several changes have been made to work with
non-blocking sockets, as `socket.socketpair` creates such [1].

The authentication [2] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd`.

1. tarantool/tarantool#8944
2. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 3, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

To achieve this, several changes have been made to work with
non-blocking sockets, as `socket.socketpair` creates such [1].

The authentication [2] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd`.

1. tarantool/tarantool#8944
2. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 3, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

To achieve this, several changes have been made to work with
non-blocking sockets, as `socket.socketpair` creates such [1].

The authentication [2] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd`.

1. tarantool/tarantool#8944
2. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 3, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

To achieve this, several changes have been made to work with
non-blocking sockets, as `socket.socketpair` creates such [1].

The authentication [2] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd`.

1. tarantool/tarantool#8944
2. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 3, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

To achieve this, several changes have been made to work with
non-blocking sockets, as `socket.socketpair` creates such [1].

The authentication [2] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd`.

1. tarantool/tarantool#8944
2. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 3, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

To achieve this, several changes have been made to work with
non-blocking sockets, as `socket.socketpair` creates such [1].

The authentication [2] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd`.

1. tarantool/tarantool#8944
2. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 3, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

To achieve this, several changes have been made to work with
non-blocking sockets, as `socket.socketpair` creates such [1].

The authentication [2] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd`.

1. tarantool/tarantool#8944
2. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 4, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

To achieve this, several changes have been made to work with
non-blocking sockets, as `socket.socketpair` creates such [1].

The authentication [2] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd`.

1. tarantool/tarantool#8944
2. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 7, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

To achieve this, several changes have been made to work with
non-blocking sockets, as `socket.socketpair` creates such [1].

The authentication [2] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `fd`.

1. tarantool/tarantool#8944
2. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 7, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

To achieve this, several changes have been made to work with
non-blocking sockets, as `socket.socketpair` creates such [1].

The authentication [2] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `socket_fd`.

1. tarantool/tarantool#8944
2. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 7, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

To achieve this, several changes have been made to work with
non-blocking sockets, as `socket.socketpair` creates such [1].

The authentication [2] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `socket_fd`.

1. tarantool/tarantool#8944
2. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 8, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

To achieve this, several changes have been made to work with
non-blocking sockets, as `socket.socketpair` creates such [1].

The authentication [2] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `socket_fd`.

1. tarantool/tarantool#8944
2. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 8, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

To achieve this, several changes have been made to work with
non-blocking sockets, as `socket.socketpair` creates such [1].

The authentication [2] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `socket_fd`.

1. tarantool/tarantool#8944
2. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 8, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

To achieve this, several changes have been made to work with
non-blocking sockets, as `socket.socketpair` creates such [1].

The authentication [2] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `socket_fd`.

1. tarantool/tarantool#8944
2. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 8, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

To achieve this, several changes have been made to work with
non-blocking sockets, as `socket.socketpair` creates such [1].

The authentication [2] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `socket_fd`.

1. tarantool/tarantool#8944
2. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
askalt added a commit that referenced this issue Nov 10, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

To achieve this, several changes have been made to work with
non-blocking sockets, as `socket.socketpair` creates such [1].

The authentication [2] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `socket_fd`.

1. tarantool/tarantool#8944
2. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
DifferentialOrange pushed a commit that referenced this issue Nov 13, 2023
This patch adds the ability to create Tarantool connection
using an existing socket fd.

To achieve this, several changes have been made to work with
non-blocking sockets, as `socket.socketpair` creates such [1].

The authentication [2] might have already occured when we establish
such a connection. If that's the case, there is no need to pass
'user' argument.

On success, connect takes ownership of the `socket_fd`.

1. tarantool/tarantool#8944
2. https://www.tarantool.io/en/doc/latest/dev_guide/internals/iproto/authentication/

Closes #304
DifferentialOrange added a commit that referenced this issue Mar 27, 2024
Overview

  This release introduces socket fd connect support.

Added

  - The ability to connect to the Tarantool using an existing
    socket fd (#304).
DifferentialOrange added a commit that referenced this issue Mar 27, 2024
Overview

  This release introduces socket fd connect support.

Added

  - The ability to connect to the Tarantool using an existing
    socket fd (#304).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2sp feature A new functionality teamE
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants