Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kyranet/veza
IPC/TCP Networking Utility to connect several processes with great concurrency.
https://github.com/kyranet/veza
ipc node-ipc node-tcp nodejs socket tcp veza
Last synced: 7 days ago
JSON representation
IPC/TCP Networking Utility to connect several processes with great concurrency.
- Host: GitHub
- URL: https://github.com/kyranet/veza
- Owner: kyranet
- License: mit
- Created: 2018-06-12T10:25:34.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-10-28T21:59:27.000Z (9 days ago)
- Last Synced: 2024-10-29T16:15:02.901Z (8 days ago)
- Topics: ipc, node-ipc, node-tcp, nodejs, socket, tcp, veza
- Language: TypeScript
- Homepage: https://veza.js.org/
- Size: 11.6 MB
- Stars: 63
- Watchers: 4
- Forks: 11
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
# Veza
[![Discord](https://discordapp.com/api/guilds/582495121698717696/embed.png)](https://discord.gg/pE5sfxK)
[![npm version](https://img.shields.io/npm/v/veza?color=crimson&logo=npm&style=flat-square)](https://www.npmjs.com/package/veza)
[![npm downloads](https://img.shields.io/npm/dt/veza?color=crimson&logo=npm&style=flat-square)](https://www.npmjs.com/package/veza)
[![Patreon](https://img.shields.io/badge/donate-patreon-F96854.svg?logo=patreon)](https://donate.skyra.pw/patreon)## About
**Veza** is a protocol that operates over either [IPC] or [TCP] with the only difference of one line of code to switch
between the two. Inspired on [node-ipc], it seeks to use modern, fast, and intuitive [API]s, as well as exposing all the
underlying back-ends for much higher customizability and extensibility, as well as a HTTP-like protocol where you can
send a message and optionally receive a response for it.## Socket Support
- [x] Unix Socket or Windows Socket.
- [x] TCP Socket.
- [ ] TLS Socket.
- [ ] UDP Sockets.> **TLS**: TLS sockets can be achieved by extending Veza to use SSL handshakes. To keep things simple and tidy, this is
> not shipped in core, but will be considered for future releases.> **UDP**: UDP sockets are not supported due to Veza's requirement for messages to be reliably received in order.
[api]: https://en.wikipedia.org/wiki/Application_programming_interface
[ipc]: https://en.wikipedia.org/wiki/Inter-process_communication
[tcp]: https://en.wikipedia.org/wiki/Transmission_Control_Protocol
[node-ipc]: https://www.npmjs.com/package/node-ipc## Messaging
All messages are encoded and decoded using [`binarytf`][binarytf], which allows a messages to be sent using the least
amount of bytes possible, increasing throughput; plus a 11-byte header at the start of each message. More information
available in [PROTOCOL].[binarytf]: https://www.npmjs.com/package/binarytf
[protocol]: https://github.com/kyranet/veza/blob/master/PROTOCOL.md## Documentation
All the documentation is available at [veza.js.org] and at [the wiki](https://github.com/kyranet/veza/wiki). You can
find examples of code [here](https://github.com/kyranet/veza/tree/master/examples).[veza.js.org]: https://veza.js.org/
## Contributing
1. Fork it!
1. Create your feature branch: `git checkout -b my-new-feature`
1. Commit your changes: `git commit -am 'Add some feature'`
1. Push to the branch: `git push origin my-new-feature`
1. Submit a pull request!## Author
**veza** © [kyranet][author], released under the
[MIT][license] License.
Authored and maintained by kyranet.> Github [kyranet][author] - Twitter [@kyranet\_][twitter]
[license]: https://github.com/kyranet/veza/blob/master/LICENSE.md
[author]: https://github.com/kyranet
[twitter]: https://twitter.com/kyranet_