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

feat: Separate socket code into a separate layer from connection layer #469

Closed
XavierChanth opened this issue Dec 9, 2024 · 1 comment
Closed
Assignees

Comments

@XavierChanth
Copy link
Member

Connection currently has two responsibilities:

  • Ensuring a connection to the atServer/atDirectory is established and up (orechestration of sockets)
  • Doing elementary, platform specific socket operations as part of the orchestration.

I will split out this latter part into it's own layer to do things like:

  • read from a socket, and managing errors
  • write to a socket and managing errors
  • create a socket connection
  • dispose of a socket connection
  • check if a socket is up (possibly, will need to evalute which layer this is best done at)

Separating these 4 or 5 operations will make it easier to switch between implementations for different platforms and socket libraries.

@XavierChanth XavierChanth self-assigned this Dec 9, 2024
@XavierChanth
Copy link
Member Author

XavierChanth commented Dec 9, 2024

This also gives us another surface for testing socket stability, which is something the c sshnpd beta currently struggles with. We can then determine if it is something elementary to the socket implementation, or if it is something further up the stack.

We can also build stress tests for the implementation which can put more pressure on the sockets than an atServer does.

@XavierChanth XavierChanth transferred this issue from atsign-foundation/noports Dec 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant