Skip to content
/ veza Public

IPC/TCP Networking Utility to connect several processes with great concurrency.

License

Notifications You must be signed in to change notification settings

kyranet/veza

Repository files navigation

Veza

Discord npm version npm downloads 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 APIs, 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

  • Unix Socket or Windows Socket.
  • 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.

Messaging

All messages are encoded and decoded using 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.

Documentation

All the documentation is available at veza.js.org and at the wiki. You can find examples of code here.

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request!

Author

veza © kyranet, released under the MIT License. Authored and maintained by kyranet.

Github kyranet - Twitter @kyranet_