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

Implement a high-level "server" and "client" class abstractions. #1352

Closed
madmaxoft opened this issue Aug 28, 2014 · 1 comment · Fixed by #1701
Closed

Implement a high-level "server" and "client" class abstractions. #1352

madmaxoft opened this issue Aug 28, 2014 · 1 comment · Fixed by #1701
Assignees

Comments

@madmaxoft
Copy link
Member

These should provide an easy interface for making a TCP server and client. The interface should be based on callbacks that the class calls for various events - new connection, available incoming data, connection closed etc.
The classes should use whatever underlying OS-dependent API they need to provide reasonable responses with little to no limits (such as the select's fd limit on *nix).

Then, we can export this interface to Lua to provide the much needed async networking to the plugins.

@worktycho
Copy link
Member

Might it be better to go for an external library. Given that the networking TS for the standard library is based on Boost.Asio we might want to go for that. http://think-async.com/Asio/AsioAndBoostAsio is a project to extract the Boost.Asio code to work independently from the rest of boost. Then at some point we can drop the library and go standard only.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants