https://github.com/archiecobbs/muxable
Java API for multiplexing multiple channels over a single parent channel using Java NIO
https://github.com/archiecobbs/muxable
channels java javanio multiplexing
Last synced: 6 months ago
JSON representation
Java API for multiplexing multiple channels over a single parent channel using Java NIO
- Host: GitHub
- URL: https://github.com/archiecobbs/muxable
- Owner: archiecobbs
- License: apache-2.0
- Created: 2021-01-14T03:00:20.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-07-12T23:07:41.000Z (about 1 year ago)
- Last Synced: 2025-02-15T03:29:52.561Z (8 months ago)
- Topics: channels, java, javanio, multiplexing
- Language: HTML
- Homepage:
- Size: 665 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES
- License: LICENSE
Awesome Lists containing this project
README
# muxable
Java API for multiplexing multiple channels over a single parent channel using Java NIO.The **[muxable-api](https://archiecobbs.github.io/muxable/site/apidocs/org/dellroad/muxable/MuxableChannel.html)** module defines a API by which multiple independent **nested** channels are multiplexed over a single, bidirectional byte-oriented **parent** channel. The nested channels are first class NIO channels that can be used completely independently from each another, but they are scoped to the parent channel.
How exactly the API is implemented is up to individual implementations. Included here is the **[muxable-simple](https://archiecobbs.github.io/muxable/site/apidocs/org/dellroad/muxable/simple/SimpleMuxableChannel.html)** module, which uses a simple framing protocol to map the nested channels onto a single underlying `ByteChannel` (e.g., a TCP connection). Other implementations are possible and envisioned, e.g., one based on **[QUIC](https://en.wikipedia.org/wiki/QUIC)**.
See the [Javadocs API](https://archiecobbs.github.io/muxable/site/apidocs/index.html) for details.