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

Plans for the Network module #439

Open
harendra-kumar opened this issue Mar 2, 2020 · 1 comment
Open

Plans for the Network module #439

harendra-kumar opened this issue Mar 2, 2020 · 1 comment
Labels

Comments

@harendra-kumar
Copy link
Member

"Streamly.Network.Socket" provides stream read/write operations using Arrays. Other than these operations we also need the socket/address types and also basic read/write operations that are not bytestring based to complete the whole repertoire of APIs for networking.

Currently we depend on the "network" package which uses bytestring for IO. Streamly does not depend on bytestring and uses Arrays instead for IO. We would like to have a clean separation of the low level socket/address types and APIs that are independent of bytestring.

We can separate the non-streaming/core networking types/APIs into separate modules and export those from streamly. For now we will keep depending on the "network" package and re-export the required types/APIs from separate modules within streamly, however, going forward we would either (1) need a split of the "network" package into a "core" package and a higher level package that requires bytestring or (2) go with networking types/modules that are independent of the network package.

I can think of the following modules for now (this may change):

  1. Streamly.Network.Socket (existing streaming APIs for sockets)
  2. Streamly.Network.Socket.IO (IO monad APIs for sockets)
  3. Streamly.Network.Socket.Types (core types for networking)

If it is possible to split the "network" package then the last two modules are the ones that can go in the "network-core" package.

@harendra-kumar harendra-kumar added the type:enhancement User visible feature label Mar 2, 2020
@harendra-kumar harendra-kumar added this to the 0.8.0 milestone Mar 2, 2020
@harendra-kumar harendra-kumar modified the milestones: 0.8.0, 0.9.0 Aug 4, 2020
@harendra-kumar
Copy link
Member Author

See also #533

@harendra-kumar harendra-kumar modified the milestones: 0.9.0, 0.10.0 Sep 7, 2022
@harendra-kumar harendra-kumar removed this from the 0.10.0 milestone Jan 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant