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

TCP/IP API #1987

Closed
zephyrbot opened this issue Jun 7, 2016 · 3 comments
Closed

TCP/IP API #1987

zephyrbot opened this issue Jun 7, 2016 · 3 comments
Assignees
Labels
area: Networking Enhancement Changes/Updates/Additions to existing features priority: medium Medium impact/importance bug
Milestone

Comments

@zephyrbot
Copy link
Collaborator

zephyrbot commented Jun 7, 2016

Reported by Flavio Santes:

Zephyr must provide a user friendly API for network programming. The basic functionality this new API must offer is:

  • Functions for setting the following properties: host IP address, netmask, default gateway address, peer address
  • Connection status
  • Listen for connections
  • Connect and disconnect from a server.
    Currently, there is no mechanism to inform that a connection is closing.
    However, this could be handled from upper layers (i.e. application). It would be convenient to analyze this case for Zephyr. See how Linux handles this.
  • Send and receive
    It must also indicate how many bytes are arriving without actually reading them

TCP-client mode

Furthermore, the following use-case must be supported:

(use-case #1)
Client connects to Server
Server accepts connection
Server sends application-level data
Client receives the data
Data could be sent by any party now

The previous described use-case is required to implement the NATS protocol and also cryptographic applications.
See [1], [2].

Currently, the only supported use-case is:

(use-case #2)
Client connects to Server
Server accepts connection
Client sends application-level data
Server receives the data
Data could be sent by any party now

TCP-server mode

Server mode must also support use-case #1. So far, only use-case #2 is supported in server mode.

[1] GH-2138
[2] GH-2256?focusedCommentId=12308&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-12308

(Imported from Jira ZEP-437)

@zephyrbot
Copy link
Collaborator Author

by Leandro Pereira:

I'm closing this, because I believe what we have in the tree right now to be sufficient for this: we were able to write TCP servers and clients without any major issues. The API is slightly different from POSIX but not much to be considered not-user-friendly.

Please reopen if I misunderstood the requirements.

@zephyrbot
Copy link
Collaborator Author

by Mark Linkmeyer:

Correcting the priority field

@zephyrbot
Copy link
Collaborator Author

zephyrbot commented Jan 31, 2017

Related to GH-2015

@zephyrbot zephyrbot added priority: medium Medium impact/importance bug area: Networking Enhancement Changes/Updates/Additions to existing features labels Sep 23, 2017
@zephyrbot zephyrbot added this to the v1.7.0 milestone Sep 23, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Networking Enhancement Changes/Updates/Additions to existing features priority: medium Medium impact/importance bug
Projects
None yet
Development

No branches or pull requests

2 participants