Date: 20180205# qzmq
Version 3.0.2 of qzmq corresponding to the same version of CZMQ. Qzmq offers a subset of CZMQ APIs. See the CZMQ Coverage below.
Qzmq is written and maintained by Jay Han (firstname.lastname@example.org)## Contents
- Features of qzmq
- CZMQ Coverage
- Copyright and License
- Files of qzmq
- Building qzmq
- Running qzmq
- merged pull request #15 from jhanna-kx/master
- added Apache 2 license
This release of qzmq is different from 20150518 (3.0.1) release:
zactoror concurrency support
- removed helper methods
- built/tested on CentOS 7 with OS supplied CZMQ (3.0.2) and ØMQ (4.1.4) libraries
- distributed systems connecting with systems
ZeroMQ takes care of data mobility/distribution/topology (e.g. pub/sub, req/rep, etc.) over various networks and transports (threads/processes/hosts). Note that threads are not supported by qzmq.
Because q has first-class functions qzmq can move code as well as data.## CZMQ Coverage Qzmq covers a subset of [CZMQ APIs][czmq-reference].
Mostly implemented as of 20160709:
- zsock - working with ZeroMQ sockets (high-level)
- zframe - working with single message frames
- zmsg - working with multipart messages
- zstr - sending and receiving strings
- [zactor - simple actor framework][zactor]
- [zclock - millisecond clocks and delays][zclock]
- [zctx - working with ZeroMQ contexts][zctx]
- [zfile - provides methods to work with files in a portable fashion][zfile]
- [zthread - working with system threads][zthread]
May implement the following in the future:
Some czmq APIs seem redundant viz-a-viz q: zuuid or UUID support, zlist or generic container, etc.## Copyright and License
## Files of qzmq
// Copyright (c) 2012-2016 Jaeheum Han <email@example.com> // This file is part of qzmq. // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/. // Alternatively you may use Apache 2.0 license instead of MPL
- kx/* --
c.ofrom kx.com for building qzmq. (see kx.com terms and conditions)
- qzmq.c -- C bindings to be linked with CZMQ (with ØMQ) and Q (
- qzmq.q -- q code used to load the bindings.
- qzmq.so -- dynamic library to be loaded into q by
Current version 3.0.2 of qzmq has been built with 64-bit kdb+ on CentOS 7.
Instructions for builidng qzmq assumes
kdb+ is in
## Running qzmq
git clone git://github.com/jaeheum/qzmq cd qzmq gcc -DKXVER=3 \ -shared -fPIC qzmq.c -o $HOME/q/l64/qzmq.so \ -Wall -Wextra \ -Wl,-rpath -Wl,/usr/lib64 \ -I./kx/kdb+3.0 \ -L./kx/kdb+3.0/l64 \ `pkg-config --cflags --libs czmq` cp qzmq.q assert.q $HOME/q/
qzmq_test.q for examples.
qzmq_test.q-- qzmq translation of CZMQ's self-tests.