Title: README
Date: 20180205
Qzmq provides Q bindings for CZMQ, the high-level C binding for ØMQ (ZeroMQ).
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 (jay.han@gmail.com)
Qzmq is hosted at github and it uses the issue tracker for all issues and comments.
This release of qzmq is different from 20160207 release:
This release of qzmq is different from 20150518 (3.0.1) release:
zactor
or concurrency supportzclock
, zctx
, zfile
zmsg_{load,save}
Qzmq lets Q users write
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.
Qzmq covers a subset of CZMQ APIs.
Mostly implemented as of 20160709:
Deprecated:
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 (c) 2012-2016 Jaeheum Han <jay.han@gmail.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
k.h
and c.o
from kx.com for building qzmq. (see kx.com terms and conditions)k.h
and c.o
).qzmq.q
.Prerequisites: kdb+ 3.0 or later, ØMQ 4, CZMQ 3. Consult your local sysadmin for installation prerequisites.
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 $HOME/q/
directory.
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/
\l qzmq.q
See qzmq_test.q
for examples.
qzmq_test.q
-- qzmq translation of CZMQ's self-tests.ZeroMQ Guide has examples in many languages. Translation of these examples to q is under way (pulled from here). See Issue #5.
See the issue tracker.