cppzmq

Header-only C++ binding for libzmq

MIT License

Stars
2K
Committers
111

Bot releases are hidden (Show)

cppzmq - v4.10.0 Latest Release

Published by gummif over 1 year ago

Changes:

  • message_t::rebuild with string argument, like the constructor #579
  • Add DRAFT socket options for libzmq 4.3.2-4 #594
  • Add function for adding file descriptor to poller_t #595
  • Fix noexcept warnings #581
  • Disambiguation from other max functions #578
cppzmq - v4.9.0

Published by gummif about 2 years ago

cppzmq - v4.8.1

Published by gummif about 3 years ago

Fix fallback value for ZMQ_DEPRECATED

cppzmq - v4.8.0

Published by gummif about 3 years ago

Fixed:

  • Fix MSYS libzmq discovery (#510)
  • Fix handshake event don't need DRAFT API in libzmq v4.3.0 and above (#509)
  • Use chrono duration for poll default timeout (#497)
  • context_t close no longer uses deprecated function (#490)
  • Fix for potential memory leak in monitor_t::check_event (#482)
  • Fix if constexpr warnings on MSVC (#460)
  • Fix conversion warnings (#459)
  • Deprecate confusing connected() function (#458)

Added:

  • Add all draft socket types up to libzmq 4.3.4 (#488)
  • Add support for socket_ref to multipart_t ctor/send/recv (#487, #470)
  • Expose zmq::fd_t (#452)
  • Add poller_t::size function (#451)
cppzmq - v4.7.1

Published by sigiesec about 4 years ago

Fixes syntax issues with MSVC (#447)

cppzmq - v4.7.0

Published by sigiesec about 4 years ago

  • Add shutdown() for context_t
  • Typesafe context options
  • Typesafe socket options
  • Better C++ standard detection
  • CMake fixes and improvements
  • Multipart message encoding and decoding
  • Fix (unlikely) UB in message_t constructor
  • Improved poll() overloads
  • Require non-null handlers to active_poller
  • Fix socket move assignment bug
  • Deprecate surprising message_t constructor from string literals
cppzmq - v4.6.0

Published by sigiesec almost 5 years ago

  • New generic algorithms for sending and receiving multipart messages
  • New to_string and to_string_view member functions in message_t
  • Less surprising behaviour when move assigning socket_t and context_t
  • Return types for send and recv moved into zmq namespace
  • Checks for 32/64bit-ness in cppzmqConfigVersion.cmake removed
cppzmq - v4.5.0

Published by sigiesec almost 5 years ago

TODO create release notes and fixes issues list

cppzmq - v4.4.1

Published by sigiesec about 5 years ago

Fix version number (v4.4.0 accidentally claimed to be v4.3.1).

cppzmq - v4.4.0

Published by sigiesec about 5 years ago

TODO create release notes and fixes issues list

cppzmq - v4.3.0

Published by sigiesec about 6 years ago

  • fixed issues when compiling with C++11
  • fixed and improved cmake build (in and out of source builds, libzmq discovery, fallback to pkg-config and more)
  • updated README.md with clear design goals, supported platforms
  • official CI support for Linux, MacOS and Windows
  • unit tests infrastructure
  • test code coverage brought to 77%
  • updated code style (more details in .clang-format)

socket_t:

  • added support for draft ZMQ_SERVER and ZMQ_CLIENT sockets
  • added support for draft ZMQ_RADIO and ZMQ_DISH sockets

poller_t:

  • poller_t became thin abstraction layer on zmq_poller_*
  • functionality with std::function handlers split and moved to a new active_poller_t in zmq_addon.hpp
  • simpler and safer implementation
  • made non-copyable, but properly movable
  • more consistent and robust error handling
  • event type part of handler definition
  • fixed a segfault issue when modifying poller_t from a handler
  • added empty method indicating presence of registered sockets

context_t:

  • added methods for context options: setctxopt(int option_, int optval_) and int getctxopt(int option_)

message_t:

  • easier construction from iterable type e.g. std::string, std::array
  • added != and == operators and equals method marked as deprecated

multipart_t:

  • added an operator<<(std::ostream) to easily print out multipart_t content

Full list of pull requests merged in this release:

  • [closed] Problem: #209 and monitor_t tests not event driven #255
  • [closed] editing "typename I" to "typename T" due to error: expected nested-na… #250
  • [closed] Add first tests for monitor_t and fix monitor_t::abort #249
  • [closed] Problem: README build badges too generic #248
  • [closed] Problem: Travis requires sudo and draft not enabled for git repo #240
  • [closed] Problem: Coverage with coveralls not working #247
  • [closed] Problem: cmake build succeeds even if libzmq not found #243
  • [closed] Problem: cppzmq build broken with C++11 compiler and git cloned repo. #236
  • [closed] Add message_t::routing_id() and set_routing_id() #235
  • [closed] Problem: cppzmq needs to be installed for pkg-config libzmq #234
  • [closed] Problem: libzmq pkg-config build not covered by CI #232
  • [closed] Problem: OSX build not enabled in Travis #230
  • [closed] Problem: whitespace style too restrictive. #228
  • [closed] Split poller_t into two layers #225
  • [closed] Problem: design goals and supported platforms are not explicitly stated #224
  • [closed] Problem: poller_t::wait_all and active_poller_t::wait declare int ret… #227
  • [closed] Problem: inconsistent code style #226
  • [closed] Problem: client/server socket types not defined. #223
  • [closed] Problem: poller's constructor is not default generated #222
  • [closed] Problem: poller move operations not complete #221
  • [closed] Problem: poller can segfault when modified from registered handler. #219
  • [closed] Fix message using empty version variable #220
  • [closed] Problem: googletest is also installed into install destination #217
  • [closed] Problem: Missing QUIET option causes a CMake warning #218
  • [closed] Problem: deprecated poller's add method in draft API #216
  • [closed] Problem: poller_t does not support modify #215
  • [closed] Problem: Appveyor caches way too much. #214
  • [closed] Problem: Appveyor Windows build does not cache googletest #213
  • [closed] Problem: poller_t's deprecated add might throw std::bad_function_call #211
  • [closed] Problem: Appveyor build is slow. #212
  • [closed] Problem: poller_t invalid behavior on moved sockets #208
  • [closed] Problem: tests are always building #210
  • [closed] Remove unnecessary curly bracket #207
  • [closed] Problem: Windows build broken because of multiple issues #204
  • [closed] Improved tests and implementation of message_t #205
  • [closed] Problem: poller's handler not aware of event type. #200
  • [closed] Problem: message_t could be easier to construct and is missing equal not equal operators #203
  • [closed] Problem: non consistent whitespace formatting #202
  • [closed] Problem: insufficient tests for poller_t, bad usability since caller of add must store function object #201
  • [closed] Problem: poller_t does not have great test coverage #196
  • [closed] Added include directory to CMake instructions #198
  • [closed] Problem: Draft build not enabled for git cloned cppzmq. #195
  • [closed] Add some initial tests, add some build/version CI variants #194
  • [closed] Add basic test infrastructure #192
  • [closed] Add basic Travis CI for cppzmq #191
  • [closed] Fix copy/move constructors of poller_t, and make error handling consistent with rest of API #190
  • [closed] std::string conversion for zmq::message_t #187
  • [closed] Added wrapper for context options #181
  • [closed] fix installation source path of FindZeroMQ.cmake #179
  • [closed] fix updated FindZeroMQ #178
  • [closed] call pkg-config fallback FindZeroMQ.cmake #174
cppzmq - cppzmq 4.2.2

Published by bluca about 7 years ago

cppzmq version 4.2.2 stable, released on 2017/07/31

Bug Fixes

  • monitor_t:
    • build error in constructor #135
    • blocked when used without threads #134
    • move constructor was only partly initialized #130
  • socket::send(): improper EHOSTUNREACH handling #125
  • check for zmq_msg_gets did not properly exclude libzmq 4.0.X #114

Features

  • CMake:
    • export targets to config (requires CMake 3.0+ now) #118 #121
    • pkg-config fallback for libzmq installs via autotools #133
  • peekstr & peektyp: peek into parts of messages #124
  • allow empty handler parameter in zmq::poller_t::add() #119 #120
  • poller_t class based on new libzmq poller API #111

Misc

  • install instructions added #129 #131
  • Copyright years updated d9f0f016c07046742738c65e1eb84722ae32d7d4
Package Rankings
Top 8.92% on Alpine-v3.17
Top 8.17% on Proxy.golang.org
Top 2.13% on Alpine-v3.18
Top 8.52% on Alpine-v3.16
Top 6.49% on Alpine-edge
Badges
Extracted from project README
CI Coverage Status License