Skip to content
forked from zeromq/chumak

Pure Erlang implementation of ZeroMQ Message Transport Protocol.

License

Notifications You must be signed in to change notification settings

xircleag/chumak

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chumak

Chumaki

What is chumak?

chumak is a library written in Erlang. It implements the ZeroMQ Message Transport Protocol (ZMTP). chumak supports ZMTP version 3.1.

Goal

The goal of chumak application is to provide up-to-date native Erlang implementation of ZMTP.

Features

  1. Resource Property (NEW in 3.1!)
  2. Request-Reply pattern
  3. Publish-Subscribe pattern
  4. Pipeline Pattern
  5. Exclusive Pair Pattern
  6. Version Negotiation
  7. NULL Security Mechanism
  8. Error Handling
  9. Framing
  10. Socket-Type Property & Identity Property
  11. Backwards Interoperability with ZMTP 3.0

Install

You can install chumak from hex.pm by including the following in your rebar.config:

{deps,[
	{chumak, "X.Y.Z"}
]}.

where X.Y.Z is one of the release versions.

For more info on rebar3 dependencies see the rebar3 docs.

Usage

See examples. Otherwise use just like a regular Erlang/OTP application.

If you would like to use python tests to try language interop, you need to have pyzmq installed.

Build

$ rebar3 compile

Test

$ rebar3 eunit -c

The -c will allow you to see the test coverage by running the command below.

Coverage

$ rebar3 cover

Generate Docs

$ rebar3 edoc

Architecture

Architecture describes the system structure.

Contributing

See Contributing.

FAQ

  1. Why another Erlang implementation?

    Because the existing Erlang implementations and bindings are out of date.

  2. Can I use chumak for free?

    Yes, as long as you abide by the terms of the MPLv2 license. In short, you can include this code as a part of a larger work, even commercial. It is only when you modify chumak source code itself that you have to make that change available. Please read the license, as this description is not complete by any means.

  3. Do I have to sign over my copyright when contributing?

    No. Everyone owns the piece of code they contribute. Please see Contributing for details.

Future work

  1. CurveZMQ - add security, with which chumak is compatible.

License

This project is licensed under Mozilla Public License Version 2.0. See license for complete license terms.

Etymology

From Wikipedia:

Chumak (Ukrainian: чумак) is a historic occupation on the territory of the modern Ukraine as merchants or traders, primarily known for the trade in salt.

About

Pure Erlang implementation of ZeroMQ Message Transport Protocol.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Erlang 96.3%
  • Python 3.7%