mirror of
https://github.com/zeromq/libzmq.git
synced 2024-12-12 10:33:52 +01:00
Feature: modernize API documentation
* migrate from the old, unmaintained "asciidoc-py" tool to the new "asciidoctor" generator * migrate from asciidoc-py syntax to the modern Asciidoc syntax (especially page titles and section titles) * remove the need of "xmlto" utility to create the manpage output; use asciidoctor for that * add HTML output support to the doc/Makefile by using asciidoctor * change API documentation files extension from .txt to .adoc to make it more explicit that they are Asciidoc-encoded (as a bonus several IDE plugins will autodetect the .adoc format as Asciidoc) * remove asciidoc.conf: asciidoctor does not support that; this also required replacing the macro linkzmq into all documentation pages * add a new Github action CI do deploy to Github Pages the static HTMLs produced by Asciidoctors * removed references to the "xmlto" and "a2x" tools from the build and packaging systems: Asciidoctor can convert the documentation directly to e.g. pdf (via extended converters) and anyway there was no code/target for using "xmlto" and "a2x" tools anyway
This commit is contained in:
parent
b30a19ebde
commit
b6ca9b2983
2
.github/workflows/CI.yaml
vendored
2
.github/workflows/CI.yaml
vendored
@ -25,7 +25,7 @@ jobs:
|
||||
ENABLE_DRAFTS: ON
|
||||
- os: ubuntu-latest
|
||||
BUILD_TYPE: default
|
||||
PACKAGES: asciidoc xmlto
|
||||
PACKAGES: asciidoctor
|
||||
DRAFT: disabled
|
||||
POLLER: select
|
||||
- os: ubuntu-latest
|
||||
|
50
.github/workflows/Docs.yaml
vendored
Normal file
50
.github/workflows/Docs.yaml
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
# Simple workflow for deploying static content to GitHub Pages
|
||||
name: Deploy API docs content to Pages
|
||||
|
||||
on:
|
||||
# Runs on pushes targeting the default branch
|
||||
push:
|
||||
branches: ["master"]
|
||||
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
|
||||
permissions:
|
||||
contents: read
|
||||
pages: write
|
||||
id-token: write
|
||||
|
||||
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
|
||||
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
|
||||
concurrency:
|
||||
group: "pages"
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
# Single deploy job since we're just deploying
|
||||
deploy:
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
## libzmq-specific CI/CD ##
|
||||
- name: Install AsciiDoctor
|
||||
run: sudo apt install -y asciidoctor
|
||||
- name: Convert AsciiDoc with AsciiDoctor into HTML
|
||||
run: ./autogen.sh && ./configure && make --directory=doc
|
||||
|
||||
## boilerplate steps to publish github Pages ##
|
||||
- name: Setup Pages
|
||||
uses: actions/configure-pages@v3
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-pages-artifact@v2
|
||||
with:
|
||||
path: 'doc/'
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@v2
|
@ -770,7 +770,7 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
||||
add_definitions(-D_DARWIN_C_SOURCE)
|
||||
endif()
|
||||
|
||||
find_package(AsciiDoc)
|
||||
find_package(AsciiDoctor)
|
||||
|
||||
cmake_dependent_option(WITH_DOC "Build Reference Guide documentation(requires DocBook)" ON "ASCIIDOC_FOUND;NOT WIN32"
|
||||
OFF) # Do not build docs on Windows due to issues with symlinks
|
||||
@ -1256,25 +1256,16 @@ option(WITH_DOCS "Build html docs" ON)
|
||||
if(WITH_DOCS)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc)
|
||||
file(
|
||||
GLOB docs
|
||||
GLOB asciidoc_files
|
||||
RELATIVE ${CMAKE_CURRENT_BINARY_DIR}/
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/doc/*.txt")
|
||||
set(html-docs)
|
||||
foreach(txt ${docs})
|
||||
string(REGEX REPLACE ".*/(.*)\\.txt" "\\1.html" html ${txt})
|
||||
set(src ${txt})
|
||||
set(dst doc/${html})
|
||||
if(WITH_DOC)
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/doc/*.adoc")
|
||||
string(REPLACE ".txt" ".html" html_files ${asciidoc_files})
|
||||
add_custom_command(
|
||||
OUTPUT ${dst}
|
||||
COMMAND ${ASCIIDOC_EXECUTABLE} -d manpage -b xhtml11 -f ${CMAKE_CURRENT_SOURCE_DIR}/doc/asciidoc.conf
|
||||
-azmq_version=${ZMQ_VERSION} -o ${dst} ${src}
|
||||
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${src}
|
||||
OUTPUT ${html_files}
|
||||
COMMAND asciidoctor -b html -azmq_version=${ZMQ_VERSION} *.adoc
|
||||
DEPENDS ${asciidoc_files}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Generating ${html}")
|
||||
list(APPEND html-docs ${CMAKE_CURRENT_BINARY_DIR}/${dst})
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
if(ZMQ_BUILD_FRAMEWORK)
|
||||
|
@ -89,7 +89,7 @@ dnl # Check whether to build documentation and install man-pages
|
||||
dnl ##############################################################################
|
||||
AC_DEFUN([LIBZMQ_CHECK_DOC_BUILD], [{
|
||||
|
||||
# Man pages are built/installed if asciidoc and xmlto are present
|
||||
# Man pages are built/installed if asciidoctor and xmlto are present
|
||||
# --with-docs=no overrides this
|
||||
AC_ARG_WITH([docs],
|
||||
AS_HELP_STRING([--without-docs],
|
||||
@ -109,14 +109,13 @@ AC_DEFUN([LIBZMQ_CHECK_DOC_BUILD], [{
|
||||
libzmq_build_doc="yes"
|
||||
libzmq_install_man="yes"
|
||||
# Check for asciidoc and xmlto and don't build the docs if these are not installed.
|
||||
AC_CHECK_PROG(libzmq_have_asciidoc, asciidoc, yes, no)
|
||||
AC_CHECK_PROG(libzmq_have_xmlto, xmlto, yes, no)
|
||||
if test "x$libzmq_have_asciidoc" = "xno" -o "x$libzmq_have_xmlto" = "xno"; then
|
||||
AC_CHECK_PROG(libzmq_have_asciidoctor, asciidoctor, yes, no)
|
||||
if test "x$libzmq_have_asciidoctor" = "xno"; then
|
||||
libzmq_build_doc="no"
|
||||
# Tarballs built with 'make dist' ship with prebuilt documentation.
|
||||
if ! test -f doc/zmq.7; then
|
||||
libzmq_install_man="no"
|
||||
AC_MSG_WARN([You are building an unreleased version of 0MQ and asciidoc or xmlto are not installed.])
|
||||
AC_MSG_WARN([You are building an unreleased version of 0MQ and asciidoctor is not installed.])
|
||||
AC_MSG_WARN([Documentation will not be built and manual pages will not be installed.])
|
||||
fi
|
||||
fi
|
||||
|
@ -1,26 +0,0 @@
|
||||
# - Find Asciidoc
|
||||
# this module looks for asciidoc and a2x
|
||||
#
|
||||
# ASCIIDOC_EXECUTABLE - the full path to asciidoc
|
||||
# ASCIIDOC_FOUND - If false, don't attempt to use asciidoc.
|
||||
# A2X_EXECUTABLE - the full path to a2x
|
||||
# A2X_FOUND - If false, don't attempt to use a2x.
|
||||
|
||||
set (PROGRAMFILESX86 "PROGRAMFILES(X86)")
|
||||
|
||||
find_program(ASCIIDOC_EXECUTABLE asciidoc asciidoc.py
|
||||
PATHS "$ENV{ASCIIDOC_ROOT}"
|
||||
"$ENV{PROGRAMW6432}/asciidoc"
|
||||
"$ENV{PROGRAMFILES}/asciidoc"
|
||||
"$ENV{${PROGRAMFILESX86}}/asciidoc")
|
||||
|
||||
find_program(A2X_EXECUTABLE a2x
|
||||
PATHS "$ENV{ASCIIDOC_ROOT}"
|
||||
"$ENV{PROGRAMW6432}/asciidoc"
|
||||
"$ENV{PROGRAMFILES}/asciidoc"
|
||||
"$ENV{${PROGRAMFILESX86}}/asciidoc")
|
||||
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_ARGS(AsciiDoc REQUIRED_VARS ASCIIDOC_EXECUTABLE)
|
||||
mark_as_advanced(ASCIIDOC_EXECUTABLE A2X_EXECUTABLE)
|
23
builds/cmake/Modules/FindAsciiDoctor.cmake
Normal file
23
builds/cmake/Modules/FindAsciiDoctor.cmake
Normal file
@ -0,0 +1,23 @@
|
||||
# - Find Asciidoctor
|
||||
# this module looks for asciidoctor
|
||||
#
|
||||
# ASCIIDOCTOR_EXECUTABLE - the full path to asciidoc
|
||||
# ASCIIDOCTOR_FOUND - If false, don't attempt to use asciidoc.
|
||||
set (PROGRAMFILESX86 "PROGRAMFILES(X86)")
|
||||
|
||||
find_program(ASCIIDOCTOR_EXECUTABLE asciidoctor asciidoctor
|
||||
PATHS "$ENV{ASCIIDOCTOR_ROOT}"
|
||||
"$ENV{PROGRAMW6432}/asciidoctor"
|
||||
"$ENV{PROGRAMFILES}/asciidoctor"
|
||||
"$ENV{${PROGRAMFILESX86}}/asciidoctor")
|
||||
|
||||
find_program(A2X_EXECUTABLE a2x
|
||||
PATHS "$ENV{ASCIIDOCTOR_ROOT}"
|
||||
"$ENV{PROGRAMW6432}/asciidoctor"
|
||||
"$ENV{PROGRAMFILES}/asciidoctor"
|
||||
"$ENV{${PROGRAMFILESX86}}/asciidoctor")
|
||||
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_ARGS(AsciiDoctor REQUIRED_VARS ASCIIDOCTOR_EXECUTABLE)
|
||||
mark_as_advanced(ASCIIDOCTOR_EXECUTABLE)
|
@ -76,10 +76,6 @@ PKG_PROG_PKG_CONFIG
|
||||
m4_pattern_forbid([^PKG_[A-Z_]+$], [missing some pkg-config macros (pkg-config package)])
|
||||
|
||||
# Libtool configuration for different targets. See acinclude.m4
|
||||
AC_ARG_VAR([XMLTO], [path to xmlto command])
|
||||
AC_PATH_PROG([XMLTO], [xmlto])
|
||||
AC_ARG_VAR([ASCIIDOC], [path to asciidoc command])
|
||||
AC_PATH_PROG([ASCIIDOC], [asciidoc])
|
||||
LIBZMQ_CONFIG_LIBTOOL
|
||||
AC_LIBTOOL_WIN32_DLL
|
||||
AC_PROG_LIBTOOL
|
||||
|
@ -1,7 +1,8 @@
|
||||
#
|
||||
# documentation
|
||||
#
|
||||
MAN3 = zmq_bind.3 zmq_unbind.3 zmq_connect.3 zmq_connect_peer.3 zmq_disconnect.3 zmq_close.3 \
|
||||
MAN3 = \
|
||||
zmq_bind.3 zmq_unbind.3 zmq_connect.3 zmq_connect_peer.3 zmq_disconnect.3 zmq_close.3 \
|
||||
zmq_ctx_new.3 zmq_ctx_term.3 zmq_ctx_get.3 zmq_ctx_set.3 zmq_ctx_shutdown.3 \
|
||||
zmq_msg_init.3 zmq_msg_init_data.3 zmq_msg_init_size.3 zmq_msg_init_buffer.3 \
|
||||
zmq_msg_move.3 zmq_msg_copy.3 zmq_msg_size.3 zmq_msg_data.3 zmq_msg_close.3 \
|
||||
@ -22,45 +23,58 @@ MAN3 = zmq_bind.3 zmq_unbind.3 zmq_connect.3 zmq_connect_peer.3 zmq_disconnect.3
|
||||
zmq_atomic_counter_inc.3 zmq_atomic_counter_dec.3 \
|
||||
zmq_atomic_counter_value.3 zmq_atomic_counter_destroy.3
|
||||
|
||||
MAN7 = zmq.7 zmq_tcp.7 zmq_pgm.7 zmq_inproc.7 zmq_ipc.7 \
|
||||
MAN7 = \
|
||||
zmq.7 zmq_tcp.7 zmq_pgm.7 zmq_inproc.7 zmq_ipc.7 \
|
||||
zmq_null.7 zmq_plain.7 zmq_curve.7 zmq_tipc.7 zmq_vmci.7 zmq_udp.7 \
|
||||
zmq_gssapi.7
|
||||
|
||||
MAN_DOC =
|
||||
# MAN_ADOC contains all original Asciidoc files from git repo
|
||||
MAN_ADOC = $(MAN3:%.3=%.adoc) $(MAN7:%.7=%.adoc)
|
||||
|
||||
MAN_TXT = $(MAN3:%.3=%.txt)
|
||||
MAN_TXT += $(MAN7:%.7=%.txt)
|
||||
MAN_HTML =
|
||||
# MAN_DOC contains all the MANUAL PAGES (generated from asciidoc files)
|
||||
MAN_DOC = $(MAN3) $(MAN7)
|
||||
|
||||
# MAN_HTML contains all the HTML PAGES (generated from asciidoc files)
|
||||
MAN_HTML = $(MAN_ADOC:%.adoc=%.html)
|
||||
|
||||
MAINTAINERCLEANFILES =
|
||||
EXTRA_DIST = $(MAN_ADOC)
|
||||
|
||||
EXTRA_DIST = asciidoc.conf $(MAN_TXT)
|
||||
|
||||
if INSTALL_MAN
|
||||
MAN_DOC += $(MAN1) $(MAN3) $(MAN7)
|
||||
dist_man_MANS = $(MAN_DOC)
|
||||
MAINTAINERCLEANFILES += $(MAN_DOC)
|
||||
endif
|
||||
|
||||
#
|
||||
# BUILD_DOC is set when Asciidoctor has been found
|
||||
# Declare here all the rules to produce documentation from .adoc files
|
||||
#
|
||||
if BUILD_DOC
|
||||
MAN_HTML += $(MAN_TXT:%.txt=%.html)
|
||||
EXTRA_DIST += $(MAN_HTML)
|
||||
MAINTAINERCLEANFILES += $(MAN_HTML)
|
||||
|
||||
SUFFIXES=.html .txt .xml .3 .7
|
||||
EXTRA_DIST += $(MAN_HTML) $(MAN_DOC)
|
||||
MAINTAINERCLEANFILES += $(MAN_HTML) $(MAN_DOC)
|
||||
SUFFIXES=.html .adoc .3 .7
|
||||
|
||||
.txt.html:
|
||||
asciidoc -d manpage -b xhtml11 -f $(srcdir)/asciidoc.conf \
|
||||
-azmq_version=@PACKAGE_VERSION@ -o$@ $<
|
||||
.txt.xml:
|
||||
asciidoc -d manpage -b docbook -f $(srcdir)/asciidoc.conf \
|
||||
-azmq_version=@PACKAGE_VERSION@ -o$@ $<
|
||||
.xml.1:
|
||||
xmlto man $<
|
||||
.xml.3:
|
||||
xmlto man $<
|
||||
.xml.7:
|
||||
xmlto man $<
|
||||
endif
|
||||
.adoc.html:
|
||||
asciidoctor -b html -azmq_version=@PACKAGE_VERSION@ $<
|
||||
.adoc.3:
|
||||
asciidoctor -b manpage -azmq_version=@PACKAGE_VERSION@ $<
|
||||
.adoc.7:
|
||||
asciidoctor -b manpage -azmq_version=@PACKAGE_VERSION@ $<
|
||||
|
||||
dist-hook : $(MAN_DOC) $(MAN_HTML)
|
||||
|
||||
# To help publishing HTML files into github Pages, we indicate github that the "zmq.html" page is the index page;
|
||||
# that page contains a link to all other documentation pages
|
||||
all-local : $(MAN_DOC) $(MAN_HTML)
|
||||
ln -sf zmq.html index.html
|
||||
|
||||
clean-local :
|
||||
rm -f $(MAN3) $(MAN7) $(MAN_HTML)
|
||||
|
||||
endif
|
||||
|
||||
|
||||
|
||||
#
|
||||
# INSTALL_MAN is set when BUILD_DOC was set and additionally the manpages need to be installed
|
||||
#
|
||||
if INSTALL_MAN
|
||||
dist_man_MANS = $(MAN_DOC)
|
||||
endif
|
||||
|
@ -1,56 +0,0 @@
|
||||
[paradef-default]
|
||||
literal-style=template="literalparagraph"
|
||||
|
||||
[macros]
|
||||
(?su)[\\]?(?P<name>linkzmq):(?P<target>\S*?)\[(?P<attrlist>.*?)\]=
|
||||
|
||||
ifdef::backend-docbook[]
|
||||
[linkzmq-inlinemacro]
|
||||
{0%{target}}
|
||||
{0#<citerefentry>}
|
||||
{0#<refentrytitle>{target}</refentrytitle><manvolnum>{0}</manvolnum>}
|
||||
{0#</citerefentry>}
|
||||
endif::backend-docbook[]
|
||||
|
||||
ifdef::backend-xhtml11[]
|
||||
[linkzmq-inlinemacro]
|
||||
<a href="{target}.html">{target}{0?({0})}</a>
|
||||
endif::backend-xhtml11[]
|
||||
|
||||
ifdef::doctype-manpage[]
|
||||
ifdef::backend-docbook[]
|
||||
[header]
|
||||
template::[header-declarations]
|
||||
<refentry>
|
||||
<refmeta>
|
||||
<refentrytitle>{mantitle}</refentrytitle>
|
||||
<manvolnum>{manvolnum}</manvolnum>
|
||||
<refmiscinfo class="source">0MQ</refmiscinfo>
|
||||
<refmiscinfo class="version">{zmq_version}</refmiscinfo>
|
||||
<refmiscinfo class="manual">0MQ Manual</refmiscinfo>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>{manname}</refname>
|
||||
<refpurpose>{manpurpose}</refpurpose>
|
||||
</refnamediv>
|
||||
endif::backend-docbook[]
|
||||
endif::doctype-manpage[]
|
||||
|
||||
ifdef::backend-xhtml11[]
|
||||
[footer]
|
||||
</div>
|
||||
{disable-javascript%<div id="footnotes"><hr /></div>}
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
ØMQ {zmq_version}<br />
|
||||
Last updated {docdate} {doctime}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
endif::backend-xhtml11[]
|
||||
|
||||
[replacements]
|
||||
ifdef::backend-xhtml11[]
|
||||
0MQ=ØMQ
|
||||
endif::backend-xhtml11[]
|
@ -1,21 +1,17 @@
|
||||
zmq(7)
|
||||
======
|
||||
= zmq(7)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq - 0MQ lightweight messaging kernel
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*#include <zmq.h>*
|
||||
|
||||
*cc* ['flags'] 'files' *-lzmq* ['libraries']
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The 0MQ lightweight messaging kernel is a library which extends the standard
|
||||
socket interfaces with features traditionally provided by specialised
|
||||
_messaging middleware_ products. 0MQ sockets provide an abstraction of
|
||||
@ -38,15 +34,15 @@ you exit your application you must destroy the 'context'. These functions let
|
||||
you work with 'contexts':
|
||||
|
||||
Create a new 0MQ context::
|
||||
linkzmq:zmq_ctx_new[3]
|
||||
* xref:zmq_ctx_new.adoc[zmq_ctx_new]
|
||||
|
||||
Work with context properties::
|
||||
linkzmq:zmq_ctx_set[3]
|
||||
linkzmq:zmq_ctx_get[3]
|
||||
* xref:zmq_ctx_set.adoc[zmq_ctx_set]
|
||||
* xref:zmq_ctx_get.adoc[zmq_ctx_get]
|
||||
|
||||
Destroy a 0MQ context::
|
||||
linkzmq:zmq_ctx_shutdown[3]
|
||||
linkzmq:zmq_ctx_term[3]
|
||||
* xref:zmq_ctx_shutdown.adoc[zmq_ctx_shutdown]
|
||||
* xref:zmq_ctx_term.adoc[zmq_ctx_term]
|
||||
|
||||
Thread safety
|
||||
^^^^^^^^^^^^^
|
||||
@ -80,73 +76,73 @@ data.
|
||||
The following functions are provided to work with messages:
|
||||
|
||||
Initialise a message::
|
||||
linkzmq:zmq_msg_init[3]
|
||||
linkzmq:zmq_msg_init_size[3]
|
||||
linkzmq:zmq_msg_init_buffer[3]
|
||||
linkzmq:zmq_msg_init_data[3]
|
||||
* xref:zmq_msg_init.adoc[zmq_msg_init]
|
||||
* xref:zmq_msg_init_size.adoc[zmq_msg_init_size]
|
||||
* xref:zmq_msg_init_buffer.adoc[zmq_msg_init_buffer]
|
||||
* xref:zmq_msg_init_data.adoc[zmq_msg_init_data]
|
||||
|
||||
Sending and receiving a message::
|
||||
linkzmq:zmq_msg_send[3]
|
||||
linkzmq:zmq_msg_recv[3]
|
||||
* xref:zmq_msg_send.adoc[zmq_msg_send]
|
||||
* xref:zmq_msg_recv.adoc[zmq_msg_recv]
|
||||
|
||||
Release a message::
|
||||
linkzmq:zmq_msg_close[3]
|
||||
* xref:zmq_msg_close.adoc[zmq_msg_close]
|
||||
|
||||
Access message content::
|
||||
linkzmq:zmq_msg_data[3]
|
||||
linkzmq:zmq_msg_size[3]
|
||||
linkzmq:zmq_msg_more[3]
|
||||
* xref:zmq_msg_data.adoc[zmq_msg_data]
|
||||
* xref:zmq_msg_size.adoc[zmq_msg_size]
|
||||
* xref:zmq_msg_more.adoc[zmq_msg_more]
|
||||
|
||||
Work with message properties::
|
||||
linkzmq:zmq_msg_gets[3]
|
||||
linkzmq:zmq_msg_get[3]
|
||||
linkzmq:zmq_msg_set[3]
|
||||
* xref:zmq_msg_gets.adoc[zmq_msg_gets]
|
||||
* xref:zmq_msg_get.adoc[zmq_msg_get]
|
||||
* xref:zmq_msg_set.adoc[zmq_msg_set]
|
||||
|
||||
Message manipulation::
|
||||
linkzmq:zmq_msg_copy[3]
|
||||
linkzmq:zmq_msg_move[3]
|
||||
* xref:zmq_msg_copy.adoc[zmq_msg_copy]
|
||||
* xref:zmq_msg_move.adoc[zmq_msg_move]
|
||||
|
||||
|
||||
Sockets
|
||||
~~~~~~~
|
||||
0MQ sockets present an abstraction of an asynchronous _message queue_, with the
|
||||
exact queueing semantics depending on the socket type in use. See
|
||||
linkzmq:zmq_socket[3] for the socket types provided.
|
||||
xref:zmq_socket.adoc[zmq_socket] for the socket types provided.
|
||||
|
||||
The following functions are provided to work with sockets:
|
||||
|
||||
Creating a socket::
|
||||
linkzmq:zmq_socket[3]
|
||||
* xref:zmq_socket.adoc[zmq_socket]
|
||||
|
||||
Closing a socket::
|
||||
linkzmq:zmq_close[3]
|
||||
* xref:zmq_close.adoc[zmq_close]
|
||||
|
||||
Manipulating socket options::
|
||||
linkzmq:zmq_getsockopt[3]
|
||||
linkzmq:zmq_setsockopt[3]
|
||||
* xref:zmq_getsockopt.adoc[zmq_getsockopt]
|
||||
* xref:zmq_setsockopt.adoc[zmq_setsockopt]
|
||||
|
||||
Establishing a message flow::
|
||||
linkzmq:zmq_bind[3]
|
||||
linkzmq:zmq_connect[3]
|
||||
* xref:zmq_bind.adoc[zmq_bind]
|
||||
* xref:zmq_connect.adoc[zmq_connect]
|
||||
|
||||
Sending and receiving messages::
|
||||
linkzmq:zmq_msg_send[3]
|
||||
linkzmq:zmq_msg_recv[3]
|
||||
linkzmq:zmq_send[3]
|
||||
linkzmq:zmq_recv[3]
|
||||
linkzmq:zmq_send_const[3]
|
||||
* xref:zmq_msg_send.adoc[zmq_msg_send]
|
||||
* xref:zmq_msg_recv.adoc[zmq_msg_recv]
|
||||
* xref:zmq_send.adoc[zmq_send]
|
||||
* xref:zmq_recv.adoc[zmq_recv]
|
||||
* xref:zmq_send_const.adoc[zmq_send_const]
|
||||
|
||||
Monitoring socket events::
|
||||
linkzmq:zmq_socket_monitor[3]
|
||||
* xref:zmq_socket_monitor.adoc[zmq_socket_monitor]
|
||||
|
||||
.Input/output multiplexing
|
||||
0MQ provides a mechanism for applications to multiplex input/output events over
|
||||
a set containing both 0MQ sockets and standard sockets. This mechanism mirrors
|
||||
the standard _poll()_ system call, and is described in detail in
|
||||
linkzmq:zmq_poll[3]. This API is deprecated, however.
|
||||
xref:zmq_poll.adoc[zmq_poll] This API is deprecated, however.
|
||||
|
||||
There is a new DRAFT API with multiple zmq_poller_* function, which is described
|
||||
in linkzmq:zmq_poller[3].
|
||||
in xref:zmq_poller.adoc[zmq_poller]
|
||||
|
||||
|
||||
Transports
|
||||
@ -158,22 +154,22 @@ advantages and drawbacks.
|
||||
The following transport mechanisms are provided:
|
||||
|
||||
Unicast transport using TCP::
|
||||
linkzmq:zmq_tcp[7]
|
||||
* xref:zmq_tcp.adoc[zmq_tcp]
|
||||
|
||||
Reliable multicast transport using PGM::
|
||||
linkzmq:zmq_pgm[7]
|
||||
* xref:zmq_pgm.adoc[zmq_pgm]
|
||||
|
||||
Local inter-process communication transport::
|
||||
linkzmq:zmq_ipc[7]
|
||||
* xref:zmq_ipc.adoc[zmq_ipc]
|
||||
|
||||
Local in-process (inter-thread) communication transport::
|
||||
linkzmq:zmq_inproc[7]
|
||||
* xref:zmq_inproc.adoc[zmq_inproc]
|
||||
|
||||
Virtual Machine Communications Interface (VMC) transport::
|
||||
linkzmq:zmq_vmci[7]
|
||||
* xref:zmq_vmci.adoc[zmq_vmci]
|
||||
|
||||
Unreliable unicast and multicast using UDP::
|
||||
linkzmq:zmq_udp[7]
|
||||
* xref:zmq_udp.adoc[zmq_udp]
|
||||
|
||||
|
||||
Proxies
|
||||
@ -181,7 +177,7 @@ Proxies
|
||||
0MQ provides 'proxies' to create fanout and fan-in topologies. A proxy connects
|
||||
a 'frontend' socket to a 'backend' socket and switches all messages between the
|
||||
two sockets, opaquely. A proxy may optionally capture all traffic to a third
|
||||
socket. To start a proxy in an application thread, use linkzmq:zmq_proxy[3].
|
||||
socket. To start a proxy in an application thread, use xref:zmq_proxy.adoc[zmq_proxy]
|
||||
|
||||
|
||||
Security
|
||||
@ -192,27 +188,26 @@ security mechanism.
|
||||
The following security mechanisms are provided for IPC and TCP connections:
|
||||
|
||||
Null security::
|
||||
linkzmq:zmq_null[7]
|
||||
* xref:zmq_null.adoc[zmq_null]
|
||||
|
||||
Plain-text authentication using username and password::
|
||||
linkzmq:zmq_plain[7]
|
||||
* xref:zmq_plain.adoc[zmq_plain]
|
||||
|
||||
Elliptic curve authentication and encryption::
|
||||
linkzmq:zmq_curve[7]
|
||||
* xref:zmq_curve.adoc[zmq_curve]
|
||||
|
||||
Generate a CURVE keypair in armored text format::
|
||||
linkzmq:zmq_curve_keypair[3]
|
||||
* xref:zmq_curve_keypair.adoc[zmq_curve_keypair]
|
||||
|
||||
Derive a CURVE public key from a secret key:
|
||||
linkzmq:zmq_curve_public[3]
|
||||
Derive a CURVE public key from a secret key::
|
||||
* xref:zmq_curve_public.adoc[zmq_curve_public]
|
||||
|
||||
Converting keys to/from armoured text strings::
|
||||
linkzmq:zmq_z85_decode[3]
|
||||
linkzmq:zmq_z85_encode[3]
|
||||
* xref:zmq_z85_decode.adoc[zmq_z85_decode]
|
||||
* xref:zmq_z85_encode.adoc[zmq_z85_encode]
|
||||
|
||||
|
||||
ERROR HANDLING
|
||||
--------------
|
||||
== ERROR HANDLING
|
||||
The 0MQ library functions handle errors using the standard conventions found on
|
||||
POSIX systems. Generally, this means that upon failure a 0MQ library function
|
||||
shall return either a NULL value (if returning a pointer) or a negative value
|
||||
@ -221,35 +216,32 @@ shall return either a NULL value (if returning a pointer) or a negative value
|
||||
|
||||
On non-POSIX systems some users may experience issues with retrieving the
|
||||
correct value of the 'errno' variable. The _zmq_errno()_ function is provided
|
||||
to assist in these cases; for details refer to linkzmq:zmq_errno[3].
|
||||
to assist in these cases; for details refer to xref:zmq_errno.adoc[zmq_errno]
|
||||
|
||||
The _zmq_strerror()_ function is provided to translate 0MQ-specific error codes
|
||||
into error message strings; for details refer to linkzmq:zmq_strerror[3].
|
||||
into error message strings; for details refer to xref:zmq_strerror.adoc[zmq_strerror]
|
||||
|
||||
|
||||
UTILITY
|
||||
-------
|
||||
== UTILITY
|
||||
The following utility functions are provided:
|
||||
|
||||
Working with atomic counters::
|
||||
linkzmq:zmq_atomic_counter_new[3]
|
||||
linkzmq:zmq_atomic_counter_set[3]
|
||||
linkzmq:zmq_atomic_counter_inc[3]
|
||||
linkzmq:zmq_atomic_counter_dec[3]
|
||||
linkzmq:zmq_atomic_counter_value[3]
|
||||
linkzmq:zmq_atomic_counter_destroy[3]
|
||||
* xref:zmq_atomic_counter_new.adoc[zmq_atomic_counter_new]
|
||||
* xref:zmq_atomic_counter_set.adoc[zmq_atomic_counter_set]
|
||||
* xref:zmq_atomic_counter_inc.adoc[zmq_atomic_counter_inc]
|
||||
* xref:zmq_atomic_counter_dec.adoc[zmq_atomic_counter_dec]
|
||||
* xref:zmq_atomic_counter_value.adoc[zmq_atomic_counter_value]
|
||||
* xref:zmq_atomic_counter_destroy.adoc[zmq_atomic_counter_destroy]
|
||||
|
||||
|
||||
MISCELLANEOUS
|
||||
-------------
|
||||
== MISCELLANEOUS
|
||||
The following miscellaneous functions are provided:
|
||||
|
||||
Report 0MQ library version::
|
||||
linkzmq:zmq_version[3]
|
||||
* xref:zmq_version.adoc[zmq_version]
|
||||
|
||||
|
||||
LANGUAGE BINDINGS
|
||||
-----------------
|
||||
== LANGUAGE BINDINGS
|
||||
The 0MQ library provides interfaces suitable for calling from programs in any
|
||||
language; this documentation documents those interfaces as they would be used
|
||||
by C programmers. The intent is that programmers using 0MQ from other languages
|
||||
@ -260,21 +252,18 @@ Language bindings ($$C++$$, Python, PHP, Ruby, Java and more) are provided by
|
||||
members of the 0MQ community and pointers can be found on the 0MQ website.
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
||||
|
||||
|
||||
RESOURCES
|
||||
---------
|
||||
== RESOURCES
|
||||
Main web site: <http://www.zeromq.org/>
|
||||
|
||||
Report bugs to the 0MQ development mailing list: <zeromq-dev@lists.zeromq.org>
|
||||
|
||||
|
||||
LICENSE
|
||||
-------
|
||||
== LICENSE
|
||||
Free use of this software is granted under the terms of the Mozilla Public
|
||||
License Version 2.0 (MPL-2.0). For details see the file `LICENSE` included with
|
||||
the 0MQ distribution.
|
@ -1,33 +1,27 @@
|
||||
zmq_atomic_counter_dec(3)
|
||||
=========================
|
||||
= zmq_atomic_counter_dec(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_atomic_counter_dec - decrement an atomic counter
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_atomic_counter_dec (void *counter);*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_atomic_counter_dec_ function decrements an atomic counter in
|
||||
a threadsafe fashion. This function uses platform specific atomic
|
||||
operations.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_atomic_counter_dec()_ function returns 1 if the counter is
|
||||
greater than zero after decrementing, or zero if the counter reached
|
||||
zero.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Test code for atomic counters
|
||||
----
|
||||
void *counter = zmq_atomic_counter_new ();
|
||||
@ -47,16 +41,14 @@ return 0;
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_atomic_counter_new[3]
|
||||
linkzmq:zmq_atomic_counter_set[3]
|
||||
linkzmq:zmq_atomic_counter_inc[3]
|
||||
linkzmq:zmq_atomic_counter_value[3]
|
||||
linkzmq:zmq_atomic_counter_destroy[3]
|
||||
== SEE ALSO
|
||||
xref:zmq_atomic_counter_new.adoc[zmq_atomic_counter_new]
|
||||
xref:zmq_atomic_counter_set.adoc[zmq_atomic_counter_set]
|
||||
xref:zmq_atomic_counter_inc.adoc[zmq_atomic_counter_inc]
|
||||
xref:zmq_atomic_counter_value.adoc[zmq_atomic_counter_value]
|
||||
xref:zmq_atomic_counter_destroy.adoc[zmq_atomic_counter_destroy]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_atomic_counter_destroy(3)
|
||||
=============================
|
||||
= zmq_atomic_counter_destroy(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_atomic_counter_destroy - destroy an atomic counter
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*void zmq_atomic_counter_destroy (void **counter_p);*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_atomic_counter_destroy_ function destroys an atomic counter and
|
||||
nullifies its reference. Pass the address of an atomic counter (void **)
|
||||
rather than the counter itself. You must destroy all counters that you
|
||||
@ -21,13 +17,11 @@ create, to avoid memory leakage. This function uses platform specific
|
||||
atomic operations.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_atomic_counter_destroy()_ function has no return value.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Test code for atomic counters
|
||||
----
|
||||
void *counter = zmq_atomic_counter_new ();
|
||||
@ -47,16 +41,14 @@ return 0;
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_atomic_counter_new[3]
|
||||
linkzmq:zmq_atomic_counter_set[3]
|
||||
linkzmq:zmq_atomic_counter_inc[3]
|
||||
linkzmq:zmq_atomic_counter_dec[3]
|
||||
linkzmq:zmq_atomic_counter_value[3]
|
||||
== SEE ALSO
|
||||
xref:zmq_atomic_counter_new.adoc[zmq_atomic_counter_new]
|
||||
xref:zmq_atomic_counter_set.adoc[zmq_atomic_counter_set]
|
||||
xref:zmq_atomic_counter_inc.adoc[zmq_atomic_counter_inc]
|
||||
xref:zmq_atomic_counter_dec.adoc[zmq_atomic_counter_dec]
|
||||
xref:zmq_atomic_counter_value.adoc[zmq_atomic_counter_value]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,32 +1,26 @@
|
||||
zmq_atomic_counter_inc(3)
|
||||
=========================
|
||||
= zmq_atomic_counter_inc(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_atomic_counter_inc - increment an atomic counter
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_atomic_counter_inc (void *counter);*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_atomic_counter_inc_ function increments an atomic counter in a
|
||||
threadsafe fashion. This function uses platform specific atomic
|
||||
operations.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_atomic_counter_inc()_ function returns the old value of the
|
||||
counter, before incrementing.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Test code for atomic counters
|
||||
----
|
||||
void *counter = zmq_atomic_counter_new ();
|
||||
@ -46,16 +40,14 @@ return 0;
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_atomic_counter_new[3]
|
||||
linkzmq:zmq_atomic_counter_set[3]
|
||||
linkzmq:zmq_atomic_counter_dec[3]
|
||||
linkzmq:zmq_atomic_counter_value[3]
|
||||
linkzmq:zmq_atomic_counter_destroy[3]
|
||||
== SEE ALSO
|
||||
xref:zmq_atomic_counter_new.adoc[zmq_atomic_counter_new]
|
||||
xref:zmq_atomic_counter_set.adoc[zmq_atomic_counter_set]
|
||||
xref:zmq_atomic_counter_dec.adoc[zmq_atomic_counter_dec]
|
||||
xref:zmq_atomic_counter_value.adoc[zmq_atomic_counter_value]
|
||||
xref:zmq_atomic_counter_destroy.adoc[zmq_atomic_counter_destroy]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,33 +1,27 @@
|
||||
zmq_atomic_counter_new(3)
|
||||
=========================
|
||||
= zmq_atomic_counter_new(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_atomic_counter_new - create a new atomic counter
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*void *zmq_atomic_counter_new (void);*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_atomic_counter_new_ function creates a new atomic counter. You
|
||||
can use this in multithreaded applications to do, for example, reference
|
||||
counting of shared objects. The atomic counter is at least 32 bits large.
|
||||
This function uses platform specific atomic operations.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_atomic_counter_new()_ function returns the new atomic counter
|
||||
if successful. Otherwise it returns NULL.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Test code for atomic counters
|
||||
----
|
||||
void *counter = zmq_atomic_counter_new ();
|
||||
@ -47,16 +41,14 @@ return 0;
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_atomic_counter_set[3]
|
||||
linkzmq:zmq_atomic_counter_inc[3]
|
||||
linkzmq:zmq_atomic_counter_dec[3]
|
||||
linkzmq:zmq_atomic_counter_value[3]
|
||||
linkzmq:zmq_atomic_counter_destroy[3]
|
||||
== SEE ALSO
|
||||
xref:zmq_atomic_counter_set.adoc[zmq_atomic_counter_set]
|
||||
xref:zmq_atomic_counter_inc.adoc[zmq_atomic_counter_inc]
|
||||
xref:zmq_atomic_counter_dec.adoc[zmq_atomic_counter_dec]
|
||||
xref:zmq_atomic_counter_value.adoc[zmq_atomic_counter_value]
|
||||
xref:zmq_atomic_counter_destroy.adoc[zmq_atomic_counter_destroy]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,32 +1,26 @@
|
||||
zmq_atomic_counter_set(3)
|
||||
=========================
|
||||
= zmq_atomic_counter_set(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_atomic_counter_set - set atomic counter to new value
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*void zmq_atomic_counter_set (void *counter, int value);*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_atomic_counter_set_ function sets the counter to a new value,
|
||||
in a threadsafe fashion. The largest value that is guaranteed to work
|
||||
across all platforms is 2^31-1. This function uses platform specific
|
||||
atomic operations.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_atomic_counter_set()_ function has no return value.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Test code for atomic counters
|
||||
----
|
||||
void *counter = zmq_atomic_counter_new ();
|
||||
@ -46,16 +40,14 @@ return 0;
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_atomic_counter_new[3]
|
||||
linkzmq:zmq_atomic_counter_inc[3]
|
||||
linkzmq:zmq_atomic_counter_dec[3]
|
||||
linkzmq:zmq_atomic_counter_value[3]
|
||||
linkzmq:zmq_atomic_counter_destroy[3]
|
||||
== SEE ALSO
|
||||
xref:zmq_atomic_counter_new.adoc[zmq_atomic_counter_new]
|
||||
xref:zmq_atomic_counter_inc.adoc[zmq_atomic_counter_inc]
|
||||
xref:zmq_atomic_counter_dec.adoc[zmq_atomic_counter_dec]
|
||||
xref:zmq_atomic_counter_value.adoc[zmq_atomic_counter_value]
|
||||
xref:zmq_atomic_counter_destroy.adoc[zmq_atomic_counter_destroy]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,33 +1,27 @@
|
||||
zmq_atomic_counter_value(3)
|
||||
===========================
|
||||
= zmq_atomic_counter_value(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_atomic_counter_value - return value of atomic counter
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_atomic_counter_value (void *counter);*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_atomic_counter_value_ function returns the value of an atomic
|
||||
counter created by _zmq_atomic_counter_new()_. This function uses platform
|
||||
specific atomic operations.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_atomic_counter_value()_ function returns the value of the
|
||||
atomic counter. If _counter_ does not point to an atomic counter created by
|
||||
_zmq_atomic_counter_new()_, the behaviour is undefined.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Test code for atomic counters
|
||||
----
|
||||
void *counter = zmq_atomic_counter_new ();
|
||||
@ -47,16 +41,14 @@ return 0;
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_atomic_counter_new[3]
|
||||
linkzmq:zmq_atomic_counter_set[3]
|
||||
linkzmq:zmq_atomic_counter_inc[3]
|
||||
linkzmq:zmq_atomic_counter_dec[3]
|
||||
linkzmq:zmq_atomic_counter_destroy[3]
|
||||
== SEE ALSO
|
||||
xref:zmq_atomic_counter_new.adoc[zmq_atomic_counter_new]
|
||||
xref:zmq_atomic_counter_set.adoc[zmq_atomic_counter_set]
|
||||
xref:zmq_atomic_counter_inc.adoc[zmq_atomic_counter_inc]
|
||||
xref:zmq_atomic_counter_dec.adoc[zmq_atomic_counter_dec]
|
||||
xref:zmq_atomic_counter_destroy.adoc[zmq_atomic_counter_destroy]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_bind(3)
|
||||
===========
|
||||
= zmq_bind(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_bind - accept incoming connections on a socket
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_bind (void '*socket', const char '*endpoint');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_bind()_ function binds the 'socket' to a local 'endpoint' and then
|
||||
accepts incoming connections on that endpoint.
|
||||
|
||||
@ -23,20 +19,20 @@ The 'endpoint' is a string consisting of a 'transport'`://` followed by an
|
||||
|
||||
0MQ provides the the following transports:
|
||||
|
||||
'tcp':: unicast transport using TCP, see linkzmq:zmq_tcp[7]
|
||||
'ipc':: local inter-process communication transport, see linkzmq:zmq_ipc[7]
|
||||
'inproc':: local in-process (inter-thread) communication transport, see linkzmq:zmq_inproc[7]
|
||||
'pgm', 'epgm':: reliable multicast transport using PGM, see linkzmq:zmq_pgm[7]
|
||||
'vmci':: virtual machine communications interface (VMCI), see linkzmq:zmq_vmci[7]
|
||||
'udp':: unreliable unicast and multicast using UDP, see linkzmq:zmq_udp[7]
|
||||
'tcp':: unicast transport using TCP, see xref:zmq_tcp.adoc[zmq_tcp]
|
||||
'ipc':: local inter-process communication transport, see xref:zmq_ipc.adoc[zmq_ipc]
|
||||
'inproc':: local in-process (inter-thread) communication transport, see xref:zmq_inproc.adoc[zmq_inproc]
|
||||
'pgm', 'epgm':: reliable multicast transport using PGM, see xref:zmq_pgm.adoc[zmq_pgm]
|
||||
'vmci':: virtual machine communications interface (VMCI), see xref:zmq_vmci.adoc[zmq_vmci]
|
||||
'udp':: unreliable unicast and multicast using UDP, see xref:zmq_udp.adoc[zmq_udp]
|
||||
|
||||
Every 0MQ socket type except 'ZMQ_PAIR' and 'ZMQ_CHANNEL' supports one-to-many and many-to-one
|
||||
semantics. The precise semantics depend on the socket type and are defined in
|
||||
linkzmq:zmq_socket[3].
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
|
||||
The 'ipc', 'tcp', 'vmci' and 'udp' transports accept wildcard addresses: see
|
||||
linkzmq:zmq_ipc[7], linkzmq:zmq_tcp[7], linkzmq:zmq_vmci[7] and
|
||||
linkzmq:zmq_udp[7] for details.
|
||||
xref:zmq_ipc.adoc[zmq_ipc], xref:zmq_tcp.adoc[zmq_tcp], xref:zmq_vmci.adoc[zmq_vmci] and
|
||||
xref:zmq_udp.adoc[zmq_udp] for details.
|
||||
|
||||
NOTE: the address syntax may be different for _zmq_bind()_ and _zmq_connect()_
|
||||
especially for the 'tcp', 'pgm' and 'epgm' transports.
|
||||
@ -44,18 +40,16 @@ especially for the 'tcp', 'pgm' and 'epgm' transports.
|
||||
NOTE: following a _zmq_bind()_, the socket enters a 'mute' state unless or
|
||||
until at least one incoming or outgoing connection is made, at which point
|
||||
the socket enters a 'ready' state. In the mute state, the socket blocks or
|
||||
drops messages according to the socket type, as defined in linkzmq:zmq_socket[3].
|
||||
By contrast, following a libzmq:zmq_connect[3], the socket enters the 'ready' state.
|
||||
drops messages according to the socket type, as defined in xref:zmq_socket.adoc[zmq_socket]
|
||||
By contrast, following a libzmq:zmq_connect, the socket enters the 'ready' state.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_bind()_ function returns zero if successful. Otherwise it returns
|
||||
`-1` and sets 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EINVAL*::
|
||||
The endpoint supplied is invalid.
|
||||
*EPROTONOSUPPORT*::
|
||||
@ -76,8 +70,7 @@ The provided 'socket' was invalid.
|
||||
No I/O thread is available to accomplish the task.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Binding a publisher socket to an in-process and a TCP transport
|
||||
----
|
||||
/* Create a ZMQ_PUB socket */
|
||||
@ -92,14 +85,12 @@ assert (rc == 0);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_connect[3]
|
||||
linkzmq:zmq_socket[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_connect.adoc[zmq_connect]
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_close(3)
|
||||
============
|
||||
= zmq_close(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_close - close 0MQ socket
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_close (void '*socket');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_close()_ function shall destroy the socket referenced by the 'socket'
|
||||
argument. Any outstanding messages physically received from the network but not
|
||||
yet received by the application with _zmq_recv()_ shall be discarded. The
|
||||
@ -27,33 +23,29 @@ socket or if 'socket' does not point to a socket, the behaviour is undefined.
|
||||
|
||||
NOTE: The default setting of _ZMQ_LINGER_ does not discard unsent messages;
|
||||
this behaviour may cause the application to block when calling _zmq_ctx_term()_.
|
||||
For details refer to linkzmq:zmq_setsockopt[3] and linkzmq:zmq_ctx_term[3].
|
||||
For details refer to xref:zmq_setsockopt.adoc[zmq_setsockopt] and xref:zmq_ctx_term.adoc[zmq_ctx_term]
|
||||
|
||||
NOTE: This API will complete asynchronously, so not everything will be deallocated
|
||||
after it returns. See above for details about linger.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_close()_ function shall return zero if successful. Otherwise it shall
|
||||
return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*ENOTSOCK*::
|
||||
The provided 'socket' was NULL.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_socket[3]
|
||||
linkzmq:zmq_ctx_term[3]
|
||||
linkzmq:zmq_setsockopt[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq_ctx_term.adoc[zmq_ctx_term]
|
||||
xref:zmq_setsockopt.adoc[zmq_setsockopt]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_connect(3)
|
||||
==============
|
||||
= zmq_connect(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_connect - create outgoing connection from socket
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_connect (void '*socket', const char '*endpoint');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_connect()_ function connects the 'socket' to an 'endpoint' and then
|
||||
accepts incoming connections on that endpoint.
|
||||
|
||||
@ -23,16 +19,16 @@ The 'endpoint' is a string consisting of a 'transport'`://` followed by an
|
||||
|
||||
0MQ provides the the following transports:
|
||||
|
||||
'tcp':: unicast transport using TCP, see linkzmq:zmq_tcp[7]
|
||||
'ipc':: local inter-process communication transport, see linkzmq:zmq_ipc[7]
|
||||
'inproc':: local in-process (inter-thread) communication transport, see linkzmq:zmq_inproc[7]
|
||||
'pgm', 'epgm':: reliable multicast transport using PGM, see linkzmq:zmq_pgm[7]
|
||||
'vmci':: virtual machine communications interface (VMCI), see linkzmq:zmq_vmci[7]
|
||||
'udp':: unreliable unicast and multicast using UDP, see linkzmq:zmq_udp[7]
|
||||
'tcp':: unicast transport using TCP, see xref:zmq_tcp.adoc[zmq_tcp]
|
||||
'ipc':: local inter-process communication transport, see xref:zmq_ipc.adoc[zmq_ipc]
|
||||
'inproc':: local in-process (inter-thread) communication transport, see xref:zmq_inproc.adoc[zmq_inproc]
|
||||
'pgm', 'epgm':: reliable multicast transport using PGM, see xref:zmq_pgm.adoc[zmq_pgm]
|
||||
'vmci':: virtual machine communications interface (VMCI), see xref:zmq_vmci.adoc[zmq_vmci]
|
||||
'udp':: unreliable unicast and multicast using UDP, see xref:zmq_udp.adoc[zmq_udp]
|
||||
|
||||
Every 0MQ socket type except 'ZMQ_PAIR' and 'ZMQ_CHANNEL' supports one-to-many and many-to-one
|
||||
semantics. The precise semantics depend on the socket type and are defined in
|
||||
linkzmq:zmq_socket[3].
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
|
||||
NOTE: for most transports and socket types the connection is not performed
|
||||
immediately but as needed by 0MQ. Thus a successful call to _zmq_connect()_
|
||||
@ -46,7 +42,7 @@ NOTE: following a _zmq_connect()_, for socket types except for ZMQ_ROUTER,
|
||||
the socket enters its normal 'ready' state. By contrast, following a
|
||||
_zmq_bind()_ alone, the socket enters a 'mute' state in which the socket
|
||||
blocks or drops messages according to the socket type, as defined in
|
||||
linkzmq:zmq_socket[3]. A ZMQ_ROUTER socket enters its normal 'ready' state
|
||||
xref:zmq_socket.adoc[zmq_socket] A ZMQ_ROUTER socket enters its normal 'ready' state
|
||||
for a specific peer only when handshaking is complete for that peer, which
|
||||
may take an arbitrary time.
|
||||
|
||||
@ -58,14 +54,12 @@ is silently ignored (i.e., returns zero). This behavior applies to ZMQ_DEALER,
|
||||
ZMQ_SUB, ZMQ_PUB, and ZMQ_REQ socket types.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_connect()_ function returns zero if successful. Otherwise it returns
|
||||
`-1` and sets 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EINVAL*::
|
||||
The endpoint supplied is invalid.
|
||||
*EPROTONOSUPPORT*::
|
||||
@ -80,8 +74,7 @@ The provided 'socket' was invalid.
|
||||
No I/O thread is available to accomplish the task.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Connecting a subscriber socket to an in-process and a TCP transport
|
||||
----
|
||||
/* Create a ZMQ_SUB socket */
|
||||
@ -96,14 +89,12 @@ assert (rc == 0);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_bind[3]
|
||||
linkzmq:zmq_socket[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_bind.adoc[zmq_bind]
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_connect_peer(3)
|
||||
===================
|
||||
= zmq_connect_peer(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_connect_peer - create outgoing connection from socket and return the connection routing id in thread-safe and atomic way.
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*uint32_t zmq_connect_peer (void '*socket', const char '*endpoint');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_connect_peer()_ function connects a 'ZMQ_PEER' socket to an 'endpoint' and then returns the endpoint 'routing_id'.
|
||||
|
||||
The 'endpoint' is a string consisting of a 'transport'`://` followed by an
|
||||
@ -24,20 +20,18 @@ The function is supported only on the 'ZMQ_PEER' socket type and would return `0
|
||||
|
||||
The _zmq_connect_peer()_ support the following transports:
|
||||
|
||||
'tcp':: unicast transport using TCP, see linkzmq:zmq_tcp[7]
|
||||
'ipc':: local inter-process communication transport, see linkzmq:zmq_ipc[7]
|
||||
'inproc':: local in-process (inter-thread) communication transport, see linkzmq:zmq_inproc[7]
|
||||
'ws':: unicast transport using WebSockets, see linkzmq:zmq_ws[7]
|
||||
'wss':: unicast transport using WebSockets over TLS, see linkzmq:zmq_wss[7]
|
||||
'tcp':: unicast transport using TCP, see xref:zmq_tcp.adoc[zmq_tcp]
|
||||
'ipc':: local inter-process communication transport, see xref:zmq_ipc.adoc[zmq_ipc]
|
||||
'inproc':: local in-process (inter-thread) communication transport, see xref:zmq_inproc.adoc[zmq_inproc]
|
||||
'ws':: unicast transport using WebSockets, see xref:zmq_ws.adoc[zmq_ws]
|
||||
'wss':: unicast transport using WebSockets over TLS, see xref:zmq_wss.adoc[zmq_wss]
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_connect_peer()_ function returns the peer 'routing_id' if successful. Otherwise it returns
|
||||
`0` and sets 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EINVAL*::
|
||||
The endpoint supplied is invalid.
|
||||
*EPROTONOSUPPORT*::
|
||||
@ -55,8 +49,7 @@ The socket is not of type 'ZMQ_PEER'.
|
||||
*EFAULT*::
|
||||
The 'ZMQ_IMMEDIATE' option is set on the socket.
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Connecting a peer socket to a TCP transport and sending a message
|
||||
----
|
||||
/* Create a ZMQ_SUB socket */
|
||||
@ -78,15 +71,13 @@ assert (rc == 0);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_connect[3]
|
||||
linkzmq:zmq_bind[3]
|
||||
linkzmq:zmq_socket[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_connect.adoc[zmq_connect]
|
||||
xref:zmq_bind.adoc[zmq_bind]
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,67 +0,0 @@
|
||||
zmq_ctx_destroy(3)
|
||||
==================
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
zmq_ctx_destroy - terminate a 0MQ context
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
*int zmq_ctx_destroy (void '*context');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
The _zmq_ctx_destroy()_ function shall destroy the 0MQ context 'context'.
|
||||
|
||||
Context termination is performed in the following steps:
|
||||
|
||||
1. Any blocking operations currently in progress on sockets open within
|
||||
'context' shall return immediately with an error code of ETERM. With the
|
||||
exception of _zmq_close()_, any further operations on sockets open within
|
||||
'context' shall fail with an error code of ETERM.
|
||||
|
||||
2. After interrupting all blocking calls, _zmq_ctx_destroy()_ shall _block_ until the
|
||||
following conditions are satisfied:
|
||||
|
||||
* All sockets open within 'context' have been closed with _zmq_close()_.
|
||||
|
||||
* For each socket within 'context', all messages sent by the application
|
||||
with _zmq_send()_ have either been physically transferred to a network
|
||||
peer, or the socket's linger period set with the _ZMQ_LINGER_ socket
|
||||
option has expired.
|
||||
|
||||
For further details regarding socket linger behaviour refer to the _ZMQ_LINGER_
|
||||
option in linkzmq:zmq_setsockopt[3].
|
||||
|
||||
This function is deprecated by linkzmq:zmq_ctx_term[3].
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
The _zmq_ctx_destroy()_ function shall return zero if successful. Otherwise
|
||||
it shall return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
*EFAULT*::
|
||||
The provided 'context' was invalid.
|
||||
*EINTR*::
|
||||
Termination was interrupted by a signal. It can be restarted if needed.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq[7]
|
||||
linkzmq:zmq_init[3]
|
||||
linkzmq:zmq_close[3]
|
||||
linkzmq:zmq_setsockopt[3]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,20 +1,16 @@
|
||||
zmq_ctx_get(3)
|
||||
==============
|
||||
= zmq_ctx_get(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
|
||||
zmq_ctx_get - get context options
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_ctx_get (void '*context', int 'option_name');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_ctx_get()_ function shall return the option specified by the
|
||||
'option_name' argument.
|
||||
|
||||
@ -49,7 +45,7 @@ NOTE: in DRAFT state, not yet available in stable releases.
|
||||
ZMQ_SOCKET_LIMIT: Get largest configurable number of sockets
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
The 'ZMQ_SOCKET_LIMIT' argument returns the largest number of sockets that
|
||||
linkzmq:zmq_ctx_set[3] will accept.
|
||||
xref:zmq_ctx_set.adoc[zmq_ctx_set] will accept.
|
||||
|
||||
|
||||
ZMQ_IPV6: Set IPv6 option
|
||||
@ -83,23 +79,20 @@ runtime, as defined in the include/zmq.h public header.
|
||||
This is useful for example for FFI bindings that can't simply do a sizeof().
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_ctx_get()_ function returns a value of 0 or greater if successful.
|
||||
Otherwise it returns `-1` and sets 'errno' to one of the values defined
|
||||
below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EINVAL*::
|
||||
The requested option _option_name_ is unknown.
|
||||
*EFAULT*::
|
||||
The provided 'context' is invalid.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Setting a limit on the number of sockets
|
||||
----
|
||||
void *context = zmq_ctx_new ();
|
||||
@ -113,13 +106,11 @@ zmq_ctx_set (ctx, ZMQ_BLOCKY, false);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_ctx_set[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_ctx_set.adoc[zmq_ctx_set]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,20 +1,16 @@
|
||||
zmq_ctx_get_ext(3)
|
||||
==================
|
||||
= zmq_ctx_get_ext(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
|
||||
zmq_ctx_get_ext - get extended context options
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_ctx_get_ext (void '*context', int 'option_name', void '*option_value', size_t '*option_len');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_ctx_get()_ function shall retrieve the value for the option
|
||||
specified by the 'option_name' argument and store it in the buffer pointed to
|
||||
by the 'option_value' argument.
|
||||
@ -39,23 +35,20 @@ Option value unit:: N/A
|
||||
Default value:: empty string
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_ctx_get_ext()_ function returns a value of 0 or greater if successful.
|
||||
Otherwise it returns `-1` and sets 'errno' to one of the values defined
|
||||
below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EINVAL*::
|
||||
The requested option _option_name_ is unknown.
|
||||
*EFAULT*::
|
||||
The provided 'context' is invalid.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Setting a prefix on internal ZMQ thread names:
|
||||
----
|
||||
void *context = zmq_ctx_new ();
|
||||
@ -72,13 +65,11 @@ assert (buffLen == prefixLen);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_ctx_get[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_ctx_get.adoc[zmq_ctx_get]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,22 +1,18 @@
|
||||
zmq_ctx_new(3)
|
||||
==============
|
||||
= zmq_ctx_new(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_ctx_new - create new 0MQ context
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*void *zmq_ctx_new ();*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_ctx_new()_ function creates a new 0MQ 'context'.
|
||||
|
||||
This function replaces the deprecated function linkzmq:zmq_init[3].
|
||||
This function replaces the deprecated function xref:zmq_init.adoc[zmq_init]
|
||||
|
||||
.Thread safety
|
||||
A 0MQ 'context' is thread safe and may be shared among as many application
|
||||
@ -24,15 +20,13 @@ threads as necessary, without any additional locking required on the part of
|
||||
the caller.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_ctx_new()_ function shall return an opaque handle to the newly created
|
||||
'context' if successful. Otherwise it shall return NULL and set 'errno' to one
|
||||
of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EMFILE*::
|
||||
The limit on the total number of open files has been reached and it
|
||||
wasn't possible to create a new context.
|
||||
@ -41,15 +35,13 @@ The limit on the total number of open files in system has been reached
|
||||
and it wasn't possible to create a new context.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq[7]
|
||||
linkzmq:zmq_ctx_set[3]
|
||||
linkzmq:zmq_ctx_get[3]
|
||||
linkzmq:zmq_ctx_term[3]
|
||||
== SEE ALSO
|
||||
xref:zmq.adoc[zmq]
|
||||
xref:zmq_ctx_set.adoc[zmq_ctx_set]
|
||||
xref:zmq_ctx_get.adoc[zmq_ctx_get]
|
||||
xref:zmq_ctx_term.adoc[zmq_ctx_term]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,20 +1,16 @@
|
||||
zmq_ctx_set(3)
|
||||
==============
|
||||
= zmq_ctx_set(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
|
||||
zmq_ctx_set - set context options
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_ctx_set (void '*context', int 'option_name', int 'option_value');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_ctx_set()_ function shall set the option specified by the
|
||||
'option_name' argument to the value of the 'option_value' argument.
|
||||
|
||||
@ -120,7 +116,7 @@ ZMQ_MAX_MSGSZ: Set maximum message size
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
The 'ZMQ_MAX_MSGSZ' argument sets the maximum allowed size
|
||||
of a message sent in the context. You can query the maximal
|
||||
allowed value with linkzmq:zmq_ctx_get[3] using the
|
||||
allowed value with xref:zmq_ctx_get.adoc[zmq_ctx_get] using the
|
||||
'ZMQ_MAX_MSGSZ' option.
|
||||
|
||||
[horizontal]
|
||||
@ -134,7 +130,7 @@ The 'ZMQ_ZERO_COPY_RECV' argument specifies whether the message decoder should
|
||||
use a zero copy strategy when receiving messages. The zero copy strategy can
|
||||
lead to increased memory usage in some cases. This option allows you to use the
|
||||
older copying strategy. You can query the value of this option with
|
||||
linkzmq:zmq_ctx_get[3] using the 'ZMQ_ZERO_COPY_RECV' option.
|
||||
xref:zmq_ctx_get.adoc[zmq_ctx_get] using the 'ZMQ_ZERO_COPY_RECV' option.
|
||||
NOTE: in DRAFT state, not yet available in stable releases.
|
||||
|
||||
[horizontal]
|
||||
@ -145,7 +141,7 @@ ZMQ_MAX_SOCKETS: Set maximum number of sockets
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
The 'ZMQ_MAX_SOCKETS' argument sets the maximum number of sockets allowed
|
||||
on the context. You can query the maximal allowed value with
|
||||
linkzmq:zmq_ctx_get[3] using the 'ZMQ_SOCKET_LIMIT' option.
|
||||
xref:zmq_ctx_get.adoc[zmq_ctx_get] using the 'ZMQ_SOCKET_LIMIT' option.
|
||||
|
||||
[horizontal]
|
||||
Default value:: 1023
|
||||
@ -163,20 +159,17 @@ IPv4 and IPv6 hosts.
|
||||
Default value:: 0
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_ctx_set()_ function returns zero if successful. Otherwise it
|
||||
returns `-1` and sets 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EINVAL*::
|
||||
The requested option _option_name_ is unknown.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Setting a limit on the number of sockets
|
||||
----
|
||||
void *context = zmq_ctx_new ();
|
||||
@ -186,13 +179,11 @@ assert (max_sockets == 256);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_ctx_get[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_ctx_get.adoc[zmq_ctx_get]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,20 +1,16 @@
|
||||
zmq_ctx_set_ext(3)
|
||||
==================
|
||||
= zmq_ctx_set_ext(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
|
||||
zmq_ctx_set_ext - set extended context options
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_ctx_set_ext (void '*context', int 'option_name', const void '*option_value', size_t 'option_len');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
|
||||
The _zmq_ctx_set_ext()_ function shall set the option specified by the
|
||||
'option_name' argument to the value pointed to by the 'option_value' argument
|
||||
@ -44,22 +40,19 @@ Option value unit:: N/A
|
||||
Default value:: empty string
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_ctx_set_ext()_ function returns zero if successful. Otherwise it
|
||||
returns `-1` and sets 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EINVAL*::
|
||||
The requested option _option_name_ is unknown.
|
||||
*EFAULT*::
|
||||
The provided 'context' is invalid.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Setting a prefix on internal ZMQ thread names:
|
||||
----
|
||||
void *context = zmq_ctx_new ();
|
||||
@ -76,13 +69,11 @@ assert (buffLen == prefixLen);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_ctx_set[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_ctx_set.adoc[zmq_ctx_set]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_ctx_shutdown(3)
|
||||
==================
|
||||
= zmq_ctx_shutdown(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_ctx_shutdown - shutdown a 0MQ context
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_ctx_shutdown (void '*context');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_ctx_shutdown()_ function shall shutdown the 0MQ context 'context'.
|
||||
|
||||
Context shutdown will cause any blocking operations currently in progress on
|
||||
@ -23,32 +19,28 @@ With the exception of _zmq_close()_, any further operations on sockets open with
|
||||
using _zmq_socket()_ on a context for which _zmq_ctx_shutdown()_ has been called,
|
||||
it will return and set errno to ETERM.
|
||||
|
||||
This function is optional, client code is still required to call the linkzmq:zmq_ctx_term[3]
|
||||
This function is optional, client code is still required to call the xref:zmq_ctx_term.adoc[zmq_ctx_term]
|
||||
function to free all resources allocated by zeromq.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_ctx_shutdown()_ function shall return zero if successful. Otherwise
|
||||
it shall return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EFAULT*::
|
||||
The provided 'context' was invalid.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq[7]
|
||||
linkzmq:zmq_init[3]
|
||||
linkzmq:zmq_ctx_term[3]
|
||||
linkzmq:zmq_close[3]
|
||||
linkzmq:zmq_setsockopt[3]
|
||||
== SEE ALSO
|
||||
xref:zmq.adoc[zmq]
|
||||
xref:zmq_init.adoc[zmq_init]
|
||||
xref:zmq_ctx_term.adoc[zmq_ctx_term]
|
||||
xref:zmq_close.adoc[zmq_close]
|
||||
xref:zmq_setsockopt.adoc[zmq_setsockopt]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_ctx_term(3)
|
||||
===============
|
||||
= zmq_ctx_term(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_ctx_term - terminate a 0MQ context
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_ctx_term (void '*context');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_ctx_term()_ function shall destroy the 0MQ context 'context'.
|
||||
|
||||
Context termination is performed in the following steps:
|
||||
@ -34,35 +30,31 @@ Context termination is performed in the following steps:
|
||||
option has expired.
|
||||
|
||||
For further details regarding socket linger behaviour refer to the _ZMQ_LINGER_
|
||||
option in linkzmq:zmq_setsockopt[3].
|
||||
option in xref:zmq_setsockopt.adoc[zmq_setsockopt]
|
||||
|
||||
This function replaces the deprecated functions linkzmq:zmq_term[3] and
|
||||
linkzmq:zmq_ctx_destroy[3].
|
||||
This function replaces the deprecated functions xref:zmq_term.adoc[zmq_term] and
|
||||
xref:zmq_ctx_destroy.adoc[zmq_ctx_destroy]
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_ctx_term()_ function shall return zero if successful. Otherwise
|
||||
it shall return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EFAULT*::
|
||||
The provided 'context' was invalid.
|
||||
*EINTR*::
|
||||
Termination was interrupted by a signal. It can be restarted if needed.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq[7]
|
||||
linkzmq:zmq_init[3]
|
||||
linkzmq:zmq_close[3]
|
||||
linkzmq:zmq_setsockopt[3]
|
||||
== SEE ALSO
|
||||
xref:zmq.adoc[zmq]
|
||||
xref:zmq_init.adoc[zmq_init]
|
||||
xref:zmq_close.adoc[zmq_close]
|
||||
xref:zmq_setsockopt.adoc[zmq_setsockopt]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,22 +1,18 @@
|
||||
zmq_curve(7)
|
||||
============
|
||||
= zmq_curve(7)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_curve - secure authentication and confidentiality
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
The CURVE mechanism defines a mechanism for secure authentication and
|
||||
confidentiality for communications between a client and a server. CURVE
|
||||
is intended for use on public networks. The CURVE mechanism is defined
|
||||
by this document: <http://rfc.zeromq.org/spec:25>.
|
||||
|
||||
|
||||
CLIENT AND SERVER ROLES
|
||||
-----------------------
|
||||
== CLIENT AND SERVER ROLES
|
||||
A socket using CURVE can be either client or server, at any moment, but
|
||||
not both. The role is independent of bind/connect direction.
|
||||
|
||||
@ -37,8 +33,7 @@ long-term key pair.
|
||||
If the server does authentication it will be based on the client's long
|
||||
term public key.
|
||||
|
||||
KEY ENCODING
|
||||
------------
|
||||
== KEY ENCODING
|
||||
The standard representation for keys in source code is either 32 bytes of
|
||||
base 256 (binary) data, or 40 characters of base 85 data encoded using the
|
||||
Z85 algorithm defined by http://rfc.zeromq.org/spec:32.
|
||||
@ -48,8 +43,7 @@ configuration files, the command line, and code. There is a reference
|
||||
implementation in C at https://github.com/zeromq/rfc/tree/master/src.
|
||||
|
||||
|
||||
TEST KEY VALUES
|
||||
---------------
|
||||
== TEST KEY VALUES
|
||||
For test cases, the client shall use this long-term key pair (specified
|
||||
as hexadecimal and in Z85):
|
||||
|
||||
@ -76,17 +70,15 @@ secret:
|
||||
JTKVSB%%)wK0E.X)V>+}o?pNmC{O&4W4b!Ni{Lh6
|
||||
----
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_z85_encode[3]
|
||||
linkzmq:zmq_z85_decode[3]
|
||||
linkzmq:zmq_setsockopt[3]
|
||||
linkzmq:zmq_null[7]
|
||||
linkzmq:zmq_plain[7]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_z85_encode.adoc[zmq_z85_encode]
|
||||
xref:zmq_z85_decode.adoc[zmq_z85_decode]
|
||||
xref:zmq_setsockopt.adoc[zmq_setsockopt]
|
||||
xref:zmq_null.adoc[zmq_null]
|
||||
xref:zmq_plain.adoc[zmq_plain]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,39 +1,32 @@
|
||||
zmq_curve_keypair(3)
|
||||
====================
|
||||
= zmq_curve_keypair(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_curve_keypair - generate a new CURVE keypair
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_curve_keypair (char *z85_public_key, char *z85_secret_key);*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_curve_keypair()_ function shall return a newly generated random
|
||||
keypair consisting of a public key and a secret key. The caller provides
|
||||
two buffers, each at least 41 octets large, in which this method will
|
||||
store the keys. The keys are encoded using linkzmq:zmq_z85_encode[3].
|
||||
store the keys. The keys are encoded using xref:zmq_z85_encode.adoc[zmq_z85_encode].
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_curve_keypair()_ function shall return 0 if successful, else it
|
||||
shall return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*ENOTSUP*::
|
||||
The libzmq library was not built with cryptographic support (libsodium).
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Generating a new CURVE keypair
|
||||
----
|
||||
char public_key [41];
|
||||
@ -43,14 +36,12 @@ assert (rc == 0);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_z85_decode[3]
|
||||
linkzmq:zmq_z85_encode[3]
|
||||
linkzmq:zmq_curve[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_z85_encode.adoc[zmq_z85_encode]
|
||||
xref:zmq_z85_decode.adoc[zmq_z85_decode]
|
||||
xref:zmq_curve.adoc[zmq_curve]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,40 +1,33 @@
|
||||
zmq_curve_public(3)
|
||||
===================
|
||||
= zmq_curve_public(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_curve_public - derive the public key from a private key
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_curve_public (char *z85_public_key, char *z85_secret_key);*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_curve_public()_ function shall derive the public key from a
|
||||
private key. The caller provides two buffers, each at least 41 octets
|
||||
large. In z85_secret_key the caller shall provide the private key, and
|
||||
the function will store the public key in z85_public_key. The keys are
|
||||
encoded using linkzmq:zmq_z85_encode[3].
|
||||
encoded using xref:zmq_z85_encode.adoc[zmq_z85_encode].
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_curve_public()_ function shall return 0 if successful, else it
|
||||
shall return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*ENOTSUP*::
|
||||
The libzmq library was not built with cryptographic support (libsodium).
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Deriving the public key from a CURVE private key
|
||||
----
|
||||
char public_key [41];
|
||||
@ -48,15 +41,13 @@ assert (!strcmp (derived_public, public_key));
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_z85_decode[3]
|
||||
linkzmq:zmq_z85_encode[3]
|
||||
linkzmq:zmq_curve_keypair[3]
|
||||
linkzmq:zmq_curve[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_z85_encode.adoc[zmq_z85_encode]
|
||||
xref:zmq_z85_decode.adoc[zmq_z85_decode]
|
||||
xref:zmq_curve_keypair.adoc[zmq_curve_keypair]
|
||||
xref:zmq_curve.adoc[zmq_curve]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_disconnect(3)
|
||||
=================
|
||||
= zmq_disconnect(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_disconnect - Disconnect a socket from an endpoint
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_disconnect (void '*socket', const char '*endpoint');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_disconnect()_ function shall disconnect a socket specified
|
||||
by the 'socket' argument from the endpoint specified by the 'endpoint'
|
||||
argument. Note the actual disconnect system call might occur at a later time.
|
||||
@ -25,19 +21,17 @@ associated with the endpoint will be discarded. However, if the socket's linger
|
||||
period is non-zero, libzmq will still attempt to transmit these discarded messages,
|
||||
until the linger period expires.
|
||||
|
||||
The 'endpoint' argument is as described in linkzmq:zmq_connect[3]
|
||||
The 'endpoint' argument is as described in xref:zmq_connect.adoc[zmq_connect]
|
||||
|
||||
NOTE: The default setting of _ZMQ_LINGER_ does not discard unsent messages;
|
||||
this behaviour may cause the application to block when calling _zmq_ctx_term()_.
|
||||
For details refer to linkzmq:zmq_setsockopt[3] and linkzmq:zmq_ctx_term[3].
|
||||
For details refer to xref:zmq_setsockopt.adoc[zmq_setsockopt] and xref:zmq_ctx_term.adoc[zmq_ctx_term]
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_disconnect()_ function shall return zero if successful. Otherwise it
|
||||
shall return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EINVAL*::
|
||||
The endpoint supplied is invalid.
|
||||
*ETERM*::
|
||||
@ -48,8 +42,7 @@ The provided 'socket' was invalid.
|
||||
The provided endpoint is not in use by the socket.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Connecting a subscriber socket to an in-process and a TCP transport
|
||||
----
|
||||
/* Create a ZMQ_SUB socket */
|
||||
@ -63,14 +56,12 @@ rc = zmq_disconnect (socket, "tcp://server001:5555");
|
||||
assert (rc == 0);
|
||||
----
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_connect[3]
|
||||
linkzmq:zmq_socket[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_connect.adoc[zmq_connect]
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_errno(3)
|
||||
============
|
||||
= zmq_errno(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_errno - retrieve value of errno for the calling thread
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_errno (void);*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_errno()_ function shall retrieve the value of the 'errno' variable for
|
||||
the calling thread.
|
||||
|
||||
@ -28,23 +24,19 @@ IMPORTANT: Users not experiencing issues with retrieving the correct value of
|
||||
variable directly.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_errno()_ function shall return the value of the 'errno' variable for
|
||||
the calling thread.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
No errors are defined.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,20 +1,16 @@
|
||||
zmq_getsockopt(3)
|
||||
=================
|
||||
= zmq_getsockopt(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
|
||||
zmq_getsockopt - get 0MQ socket options
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_getsockopt (void '*socket', int 'option_name', void '*option_value', size_t '*option_len');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_getsockopt()_ function shall retrieve the value for the option
|
||||
specified by the 'option_name' argument for the 0MQ socket pointed to by the
|
||||
'socket' argument, and store it in the buffer pointed to by the 'option_value'
|
||||
@ -39,7 +35,7 @@ corresponds to thread 1, second lowest bit to thread 2 and so on. For example,
|
||||
a value of 3 specifies that subsequent connections on 'socket' shall be handled
|
||||
exclusively by I/O threads 1 and 2.
|
||||
|
||||
See also linkzmq:zmq_init[3] for details on allocating the number of I/O
|
||||
See also xref:zmq_init.adoc[zmq_init] for details on allocating the number of I/O
|
||||
threads for a specific _context_.
|
||||
|
||||
[horizontal]
|
||||
@ -384,8 +380,8 @@ ZMQ_LINGER: Retrieve linger period for socket shutdown
|
||||
The 'ZMQ_LINGER' option shall retrieve the linger period for the specified
|
||||
'socket'. The linger period determines how long pending messages which have
|
||||
yet to be sent to a peer shall linger in memory after a socket is closed with
|
||||
linkzmq:zmq_close[3], and further affects the termination of the socket's
|
||||
context with linkzmq:zmq_ctx_term[3]. The following outlines the different
|
||||
xref:zmq_close.adoc[zmq_close], and further affects the termination of the socket's
|
||||
context with xref:zmq_ctx_term.adoc[zmq_ctx_term] The following outlines the different
|
||||
behaviours:
|
||||
|
||||
* The default value of '-1' specifies an infinite linger period. Pending
|
||||
@ -561,7 +557,7 @@ limit.
|
||||
If this limit has been reached the socket shall enter an exceptional state and
|
||||
depending on the socket type, 0MQ shall take appropriate action such as
|
||||
blocking or dropping sent messages. Refer to the individual socket descriptions
|
||||
in linkzmq:zmq_socket[3] for details on the exact action taken for each socket
|
||||
in xref:zmq_socket.adoc[zmq_socket] for details on the exact action taken for each socket
|
||||
type.
|
||||
|
||||
[horizontal]
|
||||
@ -577,7 +573,7 @@ The 'ZMQ_RCVMORE' option shall return True (1) if the message part last
|
||||
received from the 'socket' was a data part with more parts to follow. If there
|
||||
are no data parts to follow, this option shall return False (0).
|
||||
|
||||
Refer to linkzmq:zmq_send[3] and linkzmq:zmq_recv[3] for a detailed description
|
||||
Refer to xref:zmq_send.adoc[zmq_send] and xref:zmq_recv.adoc[zmq_recv] for a detailed description
|
||||
of multi-part messages.
|
||||
|
||||
[horizontal]
|
||||
@ -709,7 +705,7 @@ limit.
|
||||
If this limit has been reached the socket shall enter an exceptional state and
|
||||
depending on the socket type, 0MQ shall take appropriate action such as
|
||||
blocking or dropping sent messages. Refer to the individual socket descriptions
|
||||
in linkzmq:zmq_socket[3] for details on the exact action taken for each socket
|
||||
in xref:zmq_socket.adoc[zmq_socket] for details on the exact action taken for each socket
|
||||
type.
|
||||
|
||||
[horizontal]
|
||||
@ -814,7 +810,7 @@ Applicable socket types:: all, when using TCP transports.
|
||||
ZMQ_THREAD_SAFE: Retrieve socket thread safety
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
The 'ZMQ_THREAD_SAFE' option shall retrieve a boolean value indicating whether
|
||||
or not the socket is threadsafe. See linkzmq:zmq_socket[3] for which sockets are
|
||||
or not the socket is threadsafe. See xref:zmq_socket.adoc[zmq_socket] for which sockets are
|
||||
thread-safe.
|
||||
|
||||
[horizontal]
|
||||
@ -1137,14 +1133,12 @@ Default value:: 0 (false)
|
||||
Applicable socket types:: All, when using NORM transport.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_getsockopt()_ function shall return zero if successful. Otherwise it
|
||||
shall return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EINVAL*::
|
||||
The requested option _option_name_ is unknown, or the requested _option_len_ or
|
||||
_option_value_ is invalid, or the size of the buffer pointed to by
|
||||
@ -1158,8 +1152,7 @@ The provided 'socket' was invalid.
|
||||
The operation was interrupted by delivery of a signal.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Retrieving the high water mark for outgoing messages
|
||||
----
|
||||
/* Retrieve high water mark into sndhwm */
|
||||
@ -1170,14 +1163,12 @@ assert (rc == 0);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_setsockopt[3]
|
||||
linkzmq:zmq_socket[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_setsockopt.adoc[zmq_setsockopt]
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,14 +1,11 @@
|
||||
zmq_gssapi(7)
|
||||
============
|
||||
= zmq_gssapi(7)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_gssapi - secure authentication and confidentiality
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
|
||||
The GSSAPI mechanism defines a mechanism for secure authentication and
|
||||
confidentiality for communications between a client and a server using the
|
||||
@ -18,8 +15,7 @@ defined in IETF RFC-2743: <http://tools.ietf.org/html/rfc2743>. The ZeroMQ
|
||||
GSSAPI mechanism is defined by this document: <http://rfc.zeromq.org/spec:38>.
|
||||
|
||||
|
||||
CLIENT AND SERVER ROLES
|
||||
-----------------------
|
||||
== CLIENT AND SERVER ROLES
|
||||
A socket using GSSAPI can be either client or server, but not both.
|
||||
|
||||
To become a GSSAPI server, the application sets the ZMQ_GSSAPI_SERVER
|
||||
@ -35,8 +31,7 @@ principal for whom GSSAPI credentials should be acquired. If this option
|
||||
is not set, default credentials are used.
|
||||
|
||||
|
||||
OPTIONAL ENCRYPTION
|
||||
-------------------
|
||||
== OPTIONAL ENCRYPTION
|
||||
By default, the GSSAPI mechanism will encrypt all communications between client
|
||||
and server. If encryption is not desired (e.g. on private networks), the
|
||||
client and server applications can disable it by setting the
|
||||
@ -44,8 +39,7 @@ ZMQ_GSSAPI_PLAINTEXT option. Both the client and server must set this option
|
||||
to the same value.
|
||||
|
||||
|
||||
PRINCIPAL NAMES
|
||||
---------------
|
||||
== PRINCIPAL NAMES
|
||||
Principal names specified with the ZMQ_GSSAPI_SERVICE_PRINCIPAL or
|
||||
ZMQ_GSSAPI_PRINCIPAL options are interpreted as "host based" name types
|
||||
by default. The ZMQ_GSSAPI_PRINCIPAL_NAMETYPE and
|
||||
@ -64,15 +58,13 @@ The name is a principal name string. This name type only works with
|
||||
the krb5 GSSAPI mechanism.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_setsockopt[3]
|
||||
linkzmq:zmq_null[7]
|
||||
linkzmq:zmq_curve[7]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_setsockopt.adoc[zmq_setsockopt]
|
||||
xref:zmq_null.adoc[zmq_null]
|
||||
xref:zmq_curve.adoc[zmq_curve]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_has(3)
|
||||
==========
|
||||
= zmq_has(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_has - check a ZMQ capability
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_has (const char *capability);*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_has()_ function shall report whether a specified capability is
|
||||
available in the library. This allows bindings and applications to probe
|
||||
a library directly, for transport and security options.
|
||||
@ -32,13 +28,11 @@ defined:
|
||||
When this method is provided, the zmq.h header file will define
|
||||
ZMQ_HAS_CAPABILITIES.
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_has()_ function shall return 1 if the specified capability is
|
||||
provided. Otherwise it shall return 0.
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,52 +0,0 @@
|
||||
zmq_init(3)
|
||||
===========
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
zmq_init - initialise 0MQ context
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
*void *zmq_init (int 'io_threads');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
The _zmq_init()_ function initialises a 0MQ 'context'.
|
||||
|
||||
The 'io_threads' argument specifies the size of the 0MQ thread pool to handle
|
||||
I/O operations. If your application is using only the 'inproc' transport for
|
||||
messaging you may set this to zero, otherwise set it to at least one.
|
||||
|
||||
.Thread safety
|
||||
A 0MQ 'context' is thread safe and may be shared among as many application
|
||||
threads as necessary, without any additional locking required on the part of
|
||||
the caller.
|
||||
|
||||
This function is deprecated by linkzmq:zmq_ctx_new[3].
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
The _zmq_init()_ function shall return an opaque handle to the initialised
|
||||
'context' if successful. Otherwise it shall return NULL and set 'errno' to one
|
||||
of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
*EINVAL*::
|
||||
An invalid number of 'io_threads' was requested.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq[7]
|
||||
linkzmq:zmq_ctx_term[3]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,25 +1,21 @@
|
||||
zmq_inproc(7)
|
||||
=============
|
||||
= zmq_inproc(7)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_inproc - 0MQ local in-process (inter-thread) communication transport
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
The in-process transport passes messages via memory directly between threads
|
||||
sharing a single 0MQ 'context'.
|
||||
|
||||
NOTE: No I/O threads are involved in passing messages using the 'inproc'
|
||||
transport. Therefore, if you are using a 0MQ 'context' for in-process messaging
|
||||
only you can initialise the 'context' with zero I/O threads. See
|
||||
linkzmq:zmq_init[3] for details.
|
||||
xref:zmq_init.adoc[zmq_init] for details.
|
||||
|
||||
|
||||
ADDRESSING
|
||||
----------
|
||||
== ADDRESSING
|
||||
A 0MQ endpoint is a string consisting of a 'transport'`://` followed by an
|
||||
'address'. The 'transport' specifies the underlying protocol to use. The
|
||||
'address' specifies the transport-specific address to connect to.
|
||||
@ -48,8 +44,7 @@ order of _zmq_bind()_ and _zmq_connect()_ does not matter just like for the tcp
|
||||
transport type.
|
||||
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
== EXAMPLES
|
||||
.Assigning a local address to a socket
|
||||
----
|
||||
// Assign the in-process name "#1"
|
||||
@ -71,18 +66,16 @@ assert (rc == 0);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_bind[3]
|
||||
linkzmq:zmq_connect[3]
|
||||
linkzmq:zmq_ipc[7]
|
||||
linkzmq:zmq_tcp[7]
|
||||
linkzmq:zmq_pgm[7]
|
||||
linkzmq:zmq_vmci[7]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_bind.adoc[zmq_bind]
|
||||
xref:zmq_connect.adoc[zmq_connect]
|
||||
xref:zmq_ipc.adoc[zmq_ipc]
|
||||
xref:zmq_tcp.adoc[zmq_tcp]
|
||||
xref:zmq_pgm.adoc[zmq_pgm]
|
||||
xref:zmq_vmci.adoc[zmq_vmci]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,14 +1,11 @@
|
||||
zmq_ipc(7)
|
||||
==========
|
||||
= zmq_ipc(7)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_ipc - 0MQ local inter-process communication transport
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
The inter-process transport passes messages between local processes using a
|
||||
system-dependent IPC mechanism.
|
||||
|
||||
@ -16,8 +13,7 @@ NOTE: The inter-process transport is currently only implemented on operating
|
||||
systems that provide UNIX domain sockets.
|
||||
|
||||
|
||||
ADDRESSING
|
||||
----------
|
||||
== ADDRESSING
|
||||
A 0MQ endpoint is a string consisting of a 'transport'`://` followed by an
|
||||
'address'. The 'transport' specifies the underlying protocol to use. The
|
||||
'address' specifies the transport-specific address to connect to.
|
||||
@ -37,7 +33,7 @@ any restrictions placed by the operating system on the format and length of a
|
||||
|
||||
When the address is wild-card `*`, _zmq_bind()_ shall generate a unique temporary
|
||||
pathname. The caller should retrieve this pathname using the ZMQ_LAST_ENDPOINT
|
||||
socket option. See linkzmq:zmq_getsockopt[3] for details.
|
||||
socket option. See xref:zmq_getsockopt.adoc[zmq_getsockopt] for details.
|
||||
|
||||
NOTE: any existing binding to the same endpoint shall be overridden. That is,
|
||||
if a second process binds to an endpoint already bound by a process, this
|
||||
@ -72,8 +68,7 @@ previously created within the operating system namespace by assigning it to a
|
||||
'socket' with _zmq_bind()_.
|
||||
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
== EXAMPLES
|
||||
.Assigning a local address to a socket
|
||||
----
|
||||
// Assign the pathname "/tmp/feeds/0"
|
||||
@ -88,19 +83,17 @@ rc = zmq_connect(socket, "ipc:///tmp/feeds/0");
|
||||
assert (rc == 0);
|
||||
----
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_bind[3]
|
||||
linkzmq:zmq_connect[3]
|
||||
linkzmq:zmq_inproc[7]
|
||||
linkzmq:zmq_tcp[7]
|
||||
linkzmq:zmq_pgm[7]
|
||||
linkzmq:zmq_vmci[7]
|
||||
linkzmq:zmq_getsockopt[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_bind.adoc[zmq_bind]
|
||||
xref:zmq_connect.adoc[zmq_connect]
|
||||
xref:zmq_inproc.adoc[zmq_inproc]
|
||||
xref:zmq_tcp.adoc[zmq_tcp]
|
||||
xref:zmq_pgm.adoc[zmq_pgm]
|
||||
xref:zmq_vmci.adoc[zmq_vmci]
|
||||
xref:zmq_getsockopt.adoc[zmq_getsockopt]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_msg_close(3)
|
||||
================
|
||||
= zmq_msg_close(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_msg_close - release 0MQ message
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_msg_close (zmq_msg_t '*msg');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_msg_close()_ function shall inform the 0MQ infrastructure that any
|
||||
resources associated with the message object referenced by 'msg' are no longer
|
||||
required and may be released. Actual release of resources associated with the
|
||||
@ -28,30 +24,26 @@ CAUTION: Never access 'zmq_msg_t' members directly, instead always use the
|
||||
_zmq_msg_ family of functions.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_msg_close()_ function shall return zero if successful. Otherwise
|
||||
it shall return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EFAULT*::
|
||||
Invalid message.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_msg_init[3]
|
||||
linkzmq:zmq_msg_init_size[3]
|
||||
linkzmq:zmq_msg_init_buffer[3]
|
||||
linkzmq:zmq_msg_init_data[3]
|
||||
linkzmq:zmq_msg_data[3]
|
||||
linkzmq:zmq_msg_size[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_msg_init.adoc[zmq_msg_init]
|
||||
xref:zmq_msg_init_size.adoc[zmq_msg_init_size]
|
||||
xref:zmq_msg_init_buffer.adoc[zmq_msg_init_buffer]
|
||||
xref:zmq_msg_init_data.adoc[zmq_msg_init_data]
|
||||
xref:zmq_msg_data.adoc[zmq_msg_data]
|
||||
xref:zmq_msg_size.adoc[zmq_msg_size]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_msg_copy(3)
|
||||
===============
|
||||
= zmq_msg_copy(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_msg_copy - copy content of a message to another message
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_msg_copy (zmq_msg_t '*dest', zmq_msg_t '*src');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_msg_copy()_ function shall copy the message object referenced by 'src'
|
||||
to the message object referenced by 'dest'. The original content of 'dest', if
|
||||
any, shall be released. You must initialise 'dest' before copying to it.
|
||||
@ -29,20 +25,17 @@ CAUTION: Never access 'zmq_msg_t' members directly, instead always use the
|
||||
_zmq_msg_ family of functions.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_msg_copy()_ function shall return zero if successful. Otherwise it
|
||||
shall return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EFAULT*::
|
||||
Invalid message.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Copying a message
|
||||
----
|
||||
zmq_msg_t msg;
|
||||
@ -55,18 +48,16 @@ zmq_msg_close (©);
|
||||
zmq_msg_close (&msg);
|
||||
----
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_msg_move[3]
|
||||
linkzmq:zmq_msg_init[3]
|
||||
linkzmq:zmq_msg_init_size[3]
|
||||
linkzmq:zmq_msg_init_buffer[3]
|
||||
linkzmq:zmq_msg_init_data[3]
|
||||
linkzmq:zmq_msg_close[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_msg_move.adoc[zmq_msg_move]
|
||||
xref:zmq_msg_init.adoc[zmq_msg_init]
|
||||
xref:zmq_msg_init_size.adoc[zmq_msg_init_size]
|
||||
xref:zmq_msg_init_buffer.adoc[zmq_msg_init_buffer]
|
||||
xref:zmq_msg_init_data.adoc[zmq_msg_init_data]
|
||||
xref:zmq_msg_close.adoc[zmq_msg_close]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_msg_data(3)
|
||||
===============
|
||||
= zmq_msg_data(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_msg_data - retrieve pointer to message content
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*void *zmq_msg_data (zmq_msg_t '*msg');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_msg_data()_ function shall return a pointer to the message content of
|
||||
the message object referenced by 'msg'.
|
||||
|
||||
@ -21,29 +17,25 @@ CAUTION: Never access 'zmq_msg_t' members directly, instead always use the
|
||||
_zmq_msg_ family of functions.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
Upon successful completion, _zmq_msg_data()_ shall return a pointer to the
|
||||
message content.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
No errors are defined.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_msg_size[3]
|
||||
linkzmq:zmq_msg_init[3]
|
||||
linkzmq:zmq_msg_init_size[3]
|
||||
linkzmq:zmq_msg_init_buffer[3]
|
||||
linkzmq:zmq_msg_init_data[3]
|
||||
linkzmq:zmq_msg_close[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_msg_size.adoc[zmq_msg_size]
|
||||
xref:zmq_msg_init.adoc[zmq_msg_init]
|
||||
xref:zmq_msg_init_size.adoc[zmq_msg_init_size]
|
||||
xref:zmq_msg_init_buffer.adoc[zmq_msg_init_buffer]
|
||||
xref:zmq_msg_init_data.adoc[zmq_msg_init_data]
|
||||
xref:zmq_msg_close.adoc[zmq_msg_close]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_msg_get(3)
|
||||
==============
|
||||
= zmq_msg_get(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_msg_get - get message property
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_msg_get (zmq_msg_t '*message', int 'property');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_msg_get()_ function shall return the value for the property
|
||||
specified by the 'property' argument for the message pointed to by the
|
||||
'message' argument.
|
||||
@ -33,21 +29,18 @@ Currently only implemented for TCP sockets.
|
||||
Indicates that a message MAY share underlying storage with another copy of
|
||||
this message.
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_msg_get()_ function shall return the value for the property if
|
||||
successful. Otherwise it shall return `-1` and set 'errno' to one of the
|
||||
values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EINVAL*::
|
||||
The requested _property_ is unknown.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Receiving a multi-frame message
|
||||
----
|
||||
zmq_msg_t frame;
|
||||
@ -69,15 +62,13 @@ while (true) {
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_msg_set[3]
|
||||
linkzmq:zmq_msg_init[3]
|
||||
linkzmq:zmq_msg_close[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_msg_set.adoc[zmq_msg_set]
|
||||
xref:zmq_msg_init.adoc[zmq_msg_init]
|
||||
xref:zmq_msg_close.adoc[zmq_msg_close]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_msg_gets(3)
|
||||
===============
|
||||
= zmq_msg_gets(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_msg_gets - get message metadata property
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*const char *zmq_msg_gets (zmq_msg_t '*message', const char *'property');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_msg_gets()_ function shall return the string value for the metadata
|
||||
property specified by the 'property' argument for the message pointed to by
|
||||
the 'message' argument. Both the 'property' argument and the 'value'
|
||||
@ -21,7 +17,7 @@ shall be NULL-terminated UTF8-encoded strings.
|
||||
|
||||
Metadata is defined on a per-connection basis during the ZeroMQ connection
|
||||
handshake as specified in <rfc.zeromq.org/spec:37>. Applications can set
|
||||
metadata properties using linkzmq:zmq_setsockopt[3] option ZMQ_METADATA.
|
||||
metadata properties using xref:zmq_setsockopt.adoc[zmq_setsockopt] option ZMQ_METADATA.
|
||||
Application metadata properties must be prefixed with 'X-'.
|
||||
|
||||
In addition to application metadata, the following ZMTP properties can be
|
||||
@ -44,8 +40,7 @@ Currently, these definitions are only available as a DRAFT API.
|
||||
Other properties may be defined based on the underlying security mechanism,
|
||||
see ZAP authenticated connection sample below.
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_msg_gets()_ function shall return the string value for the property
|
||||
if successful. Otherwise it shall return NULL and set 'errno' to one of the
|
||||
values defined below. The caller shall not modify or free the returned value,
|
||||
@ -53,14 +48,12 @@ which shall be owned by the message. The encoding of the property and value
|
||||
shall be UTF8.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EINVAL*::
|
||||
The requested _property_ is unknown.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Getting the ZAP authenticated user id for a message:
|
||||
----
|
||||
zmq_msg_t msg;
|
||||
@ -72,12 +65,10 @@ zmq_msg_close (&msg);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq[7]
|
||||
linkzmq:zmq_setsockopt[3]
|
||||
== SEE ALSO
|
||||
xref:zmq.adoc[zmq]
|
||||
xref:zmq_setsockopt.adoc[zmq_setsockopt]
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_msg_init(3)
|
||||
===============
|
||||
= zmq_msg_init(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_msg_init - initialise empty 0MQ message
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_msg_init (zmq_msg_t '*msg');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_msg_init()_ function shall initialise the message object referenced by
|
||||
'msg' to represent an empty message. This function is most useful when called
|
||||
before receiving a message with _zmq_msg_recv()_.
|
||||
@ -26,18 +22,15 @@ _zmq_msg_init_size()_ and _zmq_msg_init_buffer()_ are mutually exclusive.
|
||||
Never initialise the same 'zmq_msg_t' twice.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_msg_init()_ function always returns zero.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
No errors are defined.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Receiving a message from a socket
|
||||
----
|
||||
zmq_msg_t msg;
|
||||
@ -48,18 +41,16 @@ assert (nbytes != -1);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_msg_init_size[3]
|
||||
linkzmq:zmq_msg_init_buffer[3]
|
||||
linkzmq:zmq_msg_init_data[3]
|
||||
linkzmq:zmq_msg_close[3]
|
||||
linkzmq:zmq_msg_data[3]
|
||||
linkzmq:zmq_msg_size[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_msg_init_size.adoc[zmq_msg_init_size]
|
||||
xref:zmq_msg_init_buffer.adoc[zmq_msg_init_buffer]
|
||||
xref:zmq_msg_init_data.adoc[zmq_msg_init_data]
|
||||
xref:zmq_msg_close.adoc[zmq_msg_close]
|
||||
xref:zmq_msg_data.adoc[zmq_msg_data]
|
||||
xref:zmq_msg_size.adoc[zmq_msg_size]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_msg_init_buffer(3)
|
||||
======================
|
||||
= zmq_msg_init_buffer(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_msg_init_buffer - initialise 0MQ message with buffer copy
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_msg_init_buffer (zmq_msg_t '*msg', const void '*buf', size_t 'size');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_msg_init_buffer()_ function shall allocate any resources required to
|
||||
store a message 'size' bytes long and initialise the message object referenced
|
||||
by 'msg' to represent a copy of the buffer referenced by the 'buf' and
|
||||
@ -30,30 +26,26 @@ _zmq_msg_init_buffer()_ and _zmq_msg_init_buffer()_ are mutually exclusive.
|
||||
Never initialise the same 'zmq_msg_t' twice.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_msg_init_buffer()_ function shall return zero if successful. Otherwise
|
||||
it shall return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*ENOMEM*::
|
||||
Insufficient storage space is available.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_msg_init_data[3]
|
||||
linkzmq:zmq_msg_init_size[3]
|
||||
linkzmq:zmq_msg_init[3]
|
||||
linkzmq:zmq_msg_close[3]
|
||||
linkzmq:zmq_msg_data[3]
|
||||
linkzmq:zmq_msg_size[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_msg_init_data.adoc[zmq_msg_init_data]
|
||||
xref:zmq_msg_init_size.adoc[zmq_msg_init_size]
|
||||
xref:zmq_msg_init.adoc[zmq_msg_init]
|
||||
xref:zmq_msg_close.adoc[zmq_msg_close]
|
||||
xref:zmq_msg_data.adoc[zmq_msg_data]
|
||||
xref:zmq_msg_size.adoc[zmq_msg_size]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,21 +1,17 @@
|
||||
zmq_msg_init_data(3)
|
||||
====================
|
||||
= zmq_msg_init_data(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_msg_init_data - initialise 0MQ message from a supplied buffer
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*typedef void (zmq_free_fn) (void '*data', void '*hint');*
|
||||
|
||||
*int zmq_msg_init_data (zmq_msg_t '*msg', void '*data', size_t 'size', zmq_free_fn '*ffn', void '*hint');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_msg_init_data()_ function shall initialise the message object
|
||||
referenced by 'msg' to represent the content referenced by the buffer located
|
||||
at address 'data', 'size' bytes long. No copy of 'data' shall be performed and
|
||||
@ -40,21 +36,18 @@ _zmq_msg_init_size()_ and _zmq_msg_init_buffer()_ are mutually exclusive.
|
||||
Never initialise the same 'zmq_msg_t' twice.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_msg_init_data()_ function shall return zero if successful. Otherwise
|
||||
it shall return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*ENOMEM*::
|
||||
Insufficient storage space is available.
|
||||
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Initialising a message from a supplied buffer
|
||||
----
|
||||
void my_free (void *data, void *hint)
|
||||
@ -73,18 +66,16 @@ assert (rc == 0);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_msg_init_size[3]
|
||||
linkzmq:zmq_msg_init_buffer[3]
|
||||
linkzmq:zmq_msg_init[3]
|
||||
linkzmq:zmq_msg_close[3]
|
||||
linkzmq:zmq_msg_data[3]
|
||||
linkzmq:zmq_msg_size[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_msg_init_size.adoc[zmq_msg_init_size]
|
||||
xref:zmq_msg_init_buffer.adoc[zmq_msg_init_buffer]
|
||||
xref:zmq_msg_init.adoc[zmq_msg_init]
|
||||
xref:zmq_msg_close.adoc[zmq_msg_close]
|
||||
xref:zmq_msg_data.adoc[zmq_msg_data]
|
||||
xref:zmq_msg_size.adoc[zmq_msg_size]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_msg_init_size(3)
|
||||
====================
|
||||
= zmq_msg_init_size(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_msg_init_size - initialise 0MQ message of a specified size
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_msg_init_size (zmq_msg_t '*msg', size_t 'size');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_msg_init_size()_ function shall allocate any resources required to
|
||||
store a message 'size' bytes long and initialise the message object referenced
|
||||
by 'msg' to represent the newly allocated message.
|
||||
@ -30,30 +26,26 @@ _zmq_msg_init_size()_ and _zmq_msg_init_buffer()_ are mutually exclusive.
|
||||
Never initialise the same 'zmq_msg_t' twice.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_msg_init_size()_ function shall return zero if successful. Otherwise
|
||||
it shall return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*ENOMEM*::
|
||||
Insufficient storage space is available.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_msg_init_data[3]
|
||||
linkzmq:zmq_msg_init_buffer[3]
|
||||
linkzmq:zmq_msg_init[3]
|
||||
linkzmq:zmq_msg_close[3]
|
||||
linkzmq:zmq_msg_data[3]
|
||||
linkzmq:zmq_msg_size[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_msg_init_data.adoc[zmq_msg_init_data]
|
||||
xref:zmq_msg_init_buffer.adoc[zmq_msg_init_buffer]
|
||||
xref:zmq_msg_init.adoc[zmq_msg_init]
|
||||
xref:zmq_msg_close.adoc[zmq_msg_close]
|
||||
xref:zmq_msg_data.adoc[zmq_msg_data]
|
||||
xref:zmq_msg_size.adoc[zmq_msg_size]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,34 +1,28 @@
|
||||
zmq_msg_more(3)
|
||||
===============
|
||||
= zmq_msg_more(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_msg_more - indicate if there are more message parts to receive
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_msg_more (zmq_msg_t '*message');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_msg_more()_ function indicates whether this is part of a multi-part
|
||||
message, and there are further parts to receive. This method can safely be
|
||||
called after _zmq_msg_close()_. This method is identical to _zmq_msg_get()_
|
||||
with an argument of ZMQ_MORE.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_msg_more()_ function shall return zero if this is the final part of
|
||||
a multi-part message, or the only part of a single-part message. It shall
|
||||
return 1 if there are further parts to receive.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Receiving a multi-part message
|
||||
----
|
||||
zmq_msg_t part;
|
||||
@ -50,16 +44,14 @@ while (true) {
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_msg_get[3]
|
||||
linkzmq:zmq_msg_set[3]
|
||||
linkzmq:zmq_msg_init[3]
|
||||
linkzmq:zmq_msg_close[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_msg_get.adoc[zmq_msg_get]
|
||||
xref:zmq_msg_set.adoc[zmq_msg_set]
|
||||
xref:zmq_msg_init.adoc[zmq_msg_init]
|
||||
xref:zmq_msg_close.adoc[zmq_msg_close]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_msg_move(3)
|
||||
===============
|
||||
= zmq_msg_move(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_msg_move - move content of a message to another message
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_msg_move (zmq_msg_t '*dest', zmq_msg_t '*src');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_msg_move()_ function shall move the content of the message object
|
||||
referenced by 'src' to the message object referenced by 'dest'. No actual
|
||||
copying of message content is performed, 'dest' is simply updated to reference
|
||||
@ -24,30 +20,26 @@ CAUTION: Never access 'zmq_msg_t' members directly, instead always use the
|
||||
_zmq_msg_ family of functions.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_msg_move()_ function shall return zero if successful. Otherwise it
|
||||
shall return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EFAULT*::
|
||||
Invalid message.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_msg_copy[3]
|
||||
linkzmq:zmq_msg_init[3]
|
||||
linkzmq:zmq_msg_init_size[3]
|
||||
linkzmq:zmq_msg_init_buffer[3]
|
||||
linkzmq:zmq_msg_init_data[3]
|
||||
linkzmq:zmq_msg_close[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_msg_copy.adoc[zmq_msg_copy]
|
||||
xref:zmq_msg_init.adoc[zmq_msg_init]
|
||||
xref:zmq_msg_init_size.adoc[zmq_msg_init_size]
|
||||
xref:zmq_msg_init_buffer.adoc[zmq_msg_init_buffer]
|
||||
xref:zmq_msg_init_data.adoc[zmq_msg_init_data]
|
||||
xref:zmq_msg_close.adoc[zmq_msg_close]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,20 +1,16 @@
|
||||
zmq_msg_recv(3)
|
||||
===============
|
||||
= zmq_msg_recv(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_msg_recv - receive a message part from a socket
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_msg_recv (zmq_msg_t '*msg', void '*socket', int 'flags');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
The _zmq_msg_recv()_ function is identical to linkzmq:zmq_recvmsg[3], which
|
||||
== DESCRIPTION
|
||||
The _zmq_msg_recv()_ function is identical to xref:zmq_recvmsg.adoc[zmq_recvmsg], which
|
||||
shall be deprecated in future versions. _zmq_msg_recv()_ is more consistent
|
||||
with other message manipulation functions.
|
||||
|
||||
@ -40,21 +36,19 @@ message or none at all. The total number of message parts is unlimited except
|
||||
by available memory.
|
||||
|
||||
An application that processes multi-part messages must use the _ZMQ_RCVMORE_
|
||||
linkzmq:zmq_getsockopt[3] option after calling _zmq_msg_recv()_ to determine if
|
||||
xref:zmq_getsockopt.adoc[zmq_getsockopt] option after calling _zmq_msg_recv()_ to determine if
|
||||
there are further parts to receive.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_msg_recv()_ function shall return number of bytes in the message
|
||||
if successful. Otherwise it shall return `-1` and set 'errno' to one of the
|
||||
values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EAGAIN*::
|
||||
Either the timeout set via the socket-option ZMQ_RCVTIMEO (see linkzmq:zmq_setsockopt[3])
|
||||
Either the timeout set via the socket-option ZMQ_RCVTIMEO (see xref:zmq_setsockopt.adoc[zmq_setsockopt])
|
||||
has been reached (flag ZMQ_DONTWAIT not set) without being able to read a message
|
||||
from the socket or there are no messages available at the moment (flag ZMQ_DONTWAIT set)
|
||||
and the operation would block.
|
||||
@ -64,7 +58,7 @@ The _zmq_msg_recv()_ operation is not supported by this socket type.
|
||||
The _zmq_msg_recv()_ operation cannot be performed on this socket at the moment
|
||||
due to the socket not being in the appropriate state. This error may occur with
|
||||
socket types that switch between several states, such as ZMQ_REP. See the
|
||||
_messaging patterns_ section of linkzmq:zmq_socket[3] for more information.
|
||||
_messaging patterns_ section of xref:zmq_socket.adoc[zmq_socket] for more information.
|
||||
*ETERM*::
|
||||
The 0MQ 'context' associated with the specified 'socket' was terminated.
|
||||
*ENOTSOCK*::
|
||||
@ -76,8 +70,7 @@ available.
|
||||
The message passed to the function was invalid.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Receiving a message from a socket
|
||||
----
|
||||
/* Create an empty 0MQ message */
|
||||
@ -111,18 +104,16 @@ do {
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_recv[3]
|
||||
linkzmq:zmq_send[3]
|
||||
linkzmq:zmq_msg_send[3]
|
||||
linkzmq:zmq_getsockopt[3]
|
||||
linkzmq:zmq_setsockopt[3]
|
||||
linkzmq:zmq_socket[7]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_recv.adoc[zmq_recv]
|
||||
xref:zmq_send.adoc[zmq_send]
|
||||
xref:zmq_msg_send.adoc[zmq_msg_send]
|
||||
xref:zmq_getsockopt.adoc[zmq_getsockopt]
|
||||
xref:zmq_setsockopt.adoc[zmq_setsockopt]
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,33 +1,27 @@
|
||||
zmq_msg_routing_id(3)
|
||||
=====================
|
||||
= zmq_msg_routing_id(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_msg_routing_id - return routing ID for message, if any
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*uint32_t zmq_msg_routing_id (zmq_msg_t '*message');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_msg_routing_id()_ function returns the routing ID for the message,
|
||||
if any. The routing ID is set on all messages received from a 'ZMQ_SERVER'
|
||||
socket. To send a message to a 'ZMQ_SERVER' socket you must set the routing
|
||||
ID of a connected 'ZMQ_CLIENT' peer. Routing IDs are transient.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_msg_routing_id()_ function shall return zero if there is no routing
|
||||
ID, otherwise it shall return an unsigned 32-bit integer greater than zero.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Receiving a client message and routing ID
|
||||
----
|
||||
void *ctx = zmq_ctx_new ();
|
||||
@ -50,12 +44,10 @@ assert (routing_id);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_msg_set_routing_id[3]
|
||||
== SEE ALSO
|
||||
xref:zmq_msg_set_routing_id.adoc[zmq_msg_set_routing_id]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,20 +1,16 @@
|
||||
zmq_msg_send(3)
|
||||
===============
|
||||
= zmq_msg_send(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_msg_send - send a message part on a socket
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_msg_send (zmq_msg_t '*msg', void '*socket', int 'flags');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
The _zmq_msg_send()_ function is identical to linkzmq:zmq_sendmsg[3], which
|
||||
== DESCRIPTION
|
||||
The _zmq_msg_send()_ function is identical to xref:zmq_sendmsg.adoc[zmq_sendmsg], which
|
||||
shall be deprecated in future versions. _zmq_msg_send()_ is more consistent
|
||||
with other message manipulation functions.
|
||||
|
||||
@ -58,16 +54,14 @@ by available memory.
|
||||
An application that sends multi-part messages must use the _ZMQ_SNDMORE_ flag
|
||||
when sending each message part except the final one.
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_msg_send()_ function shall return number of bytes in the message
|
||||
if successful (if number of bytes is higher than 'MAX_INT', the function will
|
||||
return 'MAX_INT'). Otherwise it shall return `-1` and set 'errno' to one of the
|
||||
values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EAGAIN*::
|
||||
Non-blocking mode was requested and the message cannot be sent at the moment.
|
||||
*ENOTSUP*::
|
||||
@ -78,7 +72,7 @@ The sender tried to send multipart data, which the socket type does not allow.
|
||||
The _zmq_msg_send()_ operation cannot be performed on this socket at the moment
|
||||
due to the socket not being in the appropriate state. This error may occur with
|
||||
socket types that switch between several states, such as ZMQ_REP. See the
|
||||
_messaging patterns_ section of linkzmq:zmq_socket[3] for more information.
|
||||
_messaging patterns_ section of xref:zmq_socket.adoc[zmq_socket] for more information.
|
||||
*ETERM*::
|
||||
The 0MQ 'context' associated with the specified 'socket' was terminated.
|
||||
*ENOTSOCK*::
|
||||
@ -92,8 +86,7 @@ Invalid message.
|
||||
The message cannot be routed.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Filling in a message and sending it to a socket
|
||||
----
|
||||
/* Create a new message, allocating 6 bytes for message content */
|
||||
@ -117,16 +110,14 @@ rc = zmq_msg_send (&part3, socket, 0);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_recv[3]
|
||||
linkzmq:zmq_send[3]
|
||||
linkzmq:zmq_msg_recv[3]
|
||||
linkzmq:zmq_socket[7]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_recv.adoc[zmq_recv]
|
||||
xref:zmq_send.adoc[zmq_send]
|
||||
xref:zmq_msg_recv.adoc[zmq_msg_recv]
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,20 +1,16 @@
|
||||
zmq_msg_set(3)
|
||||
==============
|
||||
= zmq_msg_set(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
|
||||
zmq_msg_set - set message property
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_msg_set (zmq_msg_t '*message', int 'property', int 'value');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_msg_set()_ function shall set the property specified by the
|
||||
'property' argument to the value of the 'value' argument for the 0MQ
|
||||
message fragment pointed to by the 'message' argument.
|
||||
@ -22,25 +18,21 @@ message fragment pointed to by the 'message' argument.
|
||||
Currently the _zmq_msg_set()_ function does not support any property names.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_msg_set()_ function shall return zero if successful. Otherwise it
|
||||
shall return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EINVAL*::
|
||||
The requested property _property_ is unknown.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_msg_get[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_msg_get.adoc[zmq_msg_get]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,20 +1,16 @@
|
||||
zmq_msg_set_routing_id(3)
|
||||
=========================
|
||||
= zmq_msg_set_routing_id(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
|
||||
zmq_msg_set_routing_id - set routing ID property on message
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_msg_set_routing_id (zmq_msg_t '*message', uint32_t 'routing_id');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_msg_set_routing_id()_ function sets the 'routing_id' specified, on the
|
||||
the message pointed to by the 'message' argument. The 'routing_id' must be
|
||||
greater than zero. To get a valid routing ID, you must receive a message
|
||||
@ -22,25 +18,21 @@ from a 'ZMQ_SERVER' socket, and use the libzmq:zmq_msg_routing_id method.
|
||||
Routing IDs are transient.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_msg_set_routing_id()_ function shall return zero if successful. Otherwise it
|
||||
shall return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EINVAL*::
|
||||
The provided 'routing_id' is zero.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_msg_routing_id[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_msg_routing_id.adoc[zmq_msg_routing_id]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_msg_size(3)
|
||||
===============
|
||||
= zmq_msg_size(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_msg_size - retrieve message content size in bytes
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*size_t zmq_msg_size (zmq_msg_t '*msg');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_msg_size()_ function shall return the size in bytes of the content of
|
||||
the message object referenced by 'msg'.
|
||||
|
||||
@ -21,29 +17,25 @@ CAUTION: Never access 'zmq_msg_t' members directly, instead always use the
|
||||
_zmq_msg_ family of functions.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
Upon successful completion, _zmq_msg_size()_ shall return the size of the
|
||||
message content in bytes.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
No errors are defined.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_msg_data[3]
|
||||
linkzmq:zmq_msg_init[3]
|
||||
linkzmq:zmq_msg_init_size[3]
|
||||
linkzmq:zmq_msg_init_buffer[3]
|
||||
linkzmq:zmq_msg_init_data[3]
|
||||
linkzmq:zmq_msg_close[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_msg_data.adoc[zmq_msg_data]
|
||||
xref:zmq_msg_init.adoc[zmq_msg_init]
|
||||
xref:zmq_msg_init_size.adoc[zmq_msg_init_size]
|
||||
xref:zmq_msg_init_buffer.adoc[zmq_msg_init_buffer]
|
||||
xref:zmq_msg_init_data.adoc[zmq_msg_init_data]
|
||||
xref:zmq_msg_close.adoc[zmq_msg_close]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,27 +1,22 @@
|
||||
zmq_null(7)
|
||||
===========
|
||||
= zmq_null(7)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_null - no security or confidentiality
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
The NULL mechanism is defined by the ZMTP 3.0 specification:
|
||||
<http://rfc.zeromq.org/spec:23>. This is the default security mechanism
|
||||
for ZeroMQ sockets.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_plain[7]
|
||||
linkzmq:zmq_curve[7]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_plain.adoc[zmq_plain]
|
||||
xref:zmq_curve.adoc[zmq_curve]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,20 +1,16 @@
|
||||
zmq_pgm(7)
|
||||
==========
|
||||
= zmq_pgm(7)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_pgm - 0MQ reliable multicast transport using PGM
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
PGM (Pragmatic General Multicast) is a protocol for reliable multicast
|
||||
transport of data over IP networks.
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
0MQ implements two variants of PGM, the standard protocol where PGM datagrams
|
||||
are layered directly on top of IP datagrams as defined by RFC 3208 (the 'pgm'
|
||||
transport) and "Encapsulated PGM" or EPGM where PGM datagrams are encapsulated
|
||||
@ -25,7 +21,7 @@ The 'pgm' and 'epgm' transports can only be used with the 'ZMQ_PUB' and
|
||||
|
||||
Further, PGM sockets are rate limited by default. For details, refer to the
|
||||
'ZMQ_RATE', and 'ZMQ_RECOVERY_IVL' options documented in
|
||||
linkzmq:zmq_setsockopt[3].
|
||||
xref:zmq_setsockopt.adoc[zmq_setsockopt]
|
||||
|
||||
CAUTION: The 'pgm' transport implementation requires access to raw IP sockets.
|
||||
Additional privileges may be required on some operating systems for this
|
||||
@ -34,8 +30,7 @@ implementations are encouraged to use the 'epgm' transport instead which does
|
||||
not require any special privileges.
|
||||
|
||||
|
||||
ADDRESSING
|
||||
----------
|
||||
== ADDRESSING
|
||||
A 0MQ endpoint is a string consisting of a 'transport'`://` followed by an
|
||||
'address'. The 'transport' specifies the underlying protocol to use. The
|
||||
'address' specifies the transport-specific address to connect to.
|
||||
@ -67,13 +62,12 @@ A 'multicast address' is specified by an IPv4 multicast address in its numeric
|
||||
representation.
|
||||
|
||||
|
||||
WIRE FORMAT
|
||||
-----------
|
||||
== WIRE FORMAT
|
||||
Consecutive PGM datagrams are interpreted by 0MQ as a single continuous stream
|
||||
of data where 0MQ messages are not necessarily aligned with PGM datagram
|
||||
boundaries and a single 0MQ message may span several PGM datagrams. This stream
|
||||
of data consists of 0MQ messages encapsulated in 'frames' as described in
|
||||
linkzmq:zmq_tcp[7].
|
||||
xref:zmq_tcp.adoc[zmq_tcp]
|
||||
|
||||
|
||||
PGM datagram payload
|
||||
@ -130,12 +124,11 @@ Third datagram payload
|
||||
....
|
||||
|
||||
|
||||
CONFIGURATION
|
||||
-------------
|
||||
== CONFIGURATION
|
||||
|
||||
The PGM is protocol is capable of multicasting data at high rates (500Mbps+)
|
||||
with large messages (1MB+), however it requires setting the relevant ZMQ socket
|
||||
options that are documented in linkzmq:zmq_setsockopt[3]:
|
||||
options that are documented in xref:zmq_setsockopt.adoc[zmq_setsockopt]:
|
||||
|
||||
* The 'ZMQ_RATE' should be set sufficiently high, e.g. 1Gbps
|
||||
* The 'ZMQ_RCVBUF' should be increased on the subscriber, e.g. 4MB
|
||||
@ -154,8 +147,7 @@ sudo sysctl -w net.core.wmem_default=4194304
|
||||
....
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Connecting a socket
|
||||
----
|
||||
// Connecting to the multicast address 239.192.1.1, port 5555,
|
||||
@ -171,18 +163,16 @@ assert (rc == 0);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_connect[3]
|
||||
linkzmq:zmq_setsockopt[3]
|
||||
linkzmq:zmq_tcp[7]
|
||||
linkzmq:zmq_ipc[7]
|
||||
linkzmq:zmq_inproc[7]
|
||||
linkzmq:zmq_vmci[7]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_connect.adoc[zmq_connect]
|
||||
xref:zmq_setsockopt.adoc[zmq_setsockopt]
|
||||
xref:zmq_tcp.adoc[zmq_tcp]
|
||||
xref:zmq_ipc.adoc[zmq_ipc]
|
||||
xref:zmq_inproc.adoc[zmq_inproc]
|
||||
xref:zmq_vmci.adoc[zmq_vmci]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,14 +1,11 @@
|
||||
zmq_plain(7)
|
||||
============
|
||||
= zmq_plain(7)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_plain - clear-text authentication
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
The PLAIN mechanism defines a simple username/password mechanism that
|
||||
lets a server authenticate a client. PLAIN makes no attempt at security
|
||||
or confidentiality. It is intended for use on internal networks where
|
||||
@ -16,22 +13,19 @@ security requirements are low. The PLAIN mechanism is defined by this
|
||||
document: <http://rfc.zeromq.org/spec:24>.
|
||||
|
||||
|
||||
USAGE
|
||||
-----
|
||||
== USAGE
|
||||
To use PLAIN, the server shall set the ZMQ_PLAIN_SERVER option, and the
|
||||
client shall set the ZMQ_PLAIN_USERNAME and ZMQ_PLAIN_PASSWORD socket
|
||||
options. Which peer binds, and which connects, is not relevant.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_setsockopt[3]
|
||||
linkzmq:zmq_null[7]
|
||||
linkzmq:zmq_curve[7]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_setsockopt.adoc[zmq_setsockopt]
|
||||
xref:zmq_null.adoc[zmq_null]
|
||||
xref:zmq_curve.adoc[zmq_curve]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,20 +1,16 @@
|
||||
zmq_poll(3)
|
||||
===========
|
||||
= zmq_poll(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_poll - input/output multiplexing
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
|
||||
*int zmq_poll (zmq_pollitem_t '*items', int 'nitems', long 'timeout');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_poll()_ function provides a mechanism for applications to multiplex
|
||||
input/output events in a level-triggered fashion over a set of sockets. Each
|
||||
member of the array pointed to by the 'items' argument is a *zmq_pollitem_t*
|
||||
@ -80,8 +76,7 @@ NOTE: The _zmq_poll()_ function may be implemented or emulated using operating
|
||||
system interfaces other than _poll()_, and as such may be subject to the limits
|
||||
of those interfaces in ways not defined in this documentation.
|
||||
|
||||
THREAD SAFETY
|
||||
-------------
|
||||
== THREAD SAFETY
|
||||
The *zmq_pollitem_t* array must only be used by the thread which
|
||||
will/is calling _zmq_poll_.
|
||||
|
||||
@ -90,16 +85,14 @@ different thread, the socket itself needs to be thread-safe (Server, Client, ...
|
||||
Otherwise, behaviour is undefined.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
Upon successful completion, the _zmq_poll()_ function shall return the number
|
||||
of *zmq_pollitem_t* structures with events signaled in 'revents' or `0` if no
|
||||
events have been signaled. Upon failure, _zmq_poll()_ shall return `-1` and set
|
||||
'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*ETERM*::
|
||||
At least one of the members of the 'items' array refers to a 'socket' whose
|
||||
associated 0MQ 'context' was terminated.
|
||||
@ -110,8 +103,7 @@ The operation was interrupted by delivery of a signal before any events were
|
||||
available.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Polling indefinitely for input events on both a 0MQ socket and a standard socket.
|
||||
----
|
||||
zmq_pollitem_t items [2];
|
||||
@ -129,17 +121,15 @@ assert (rc >= 0);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_socket[3]
|
||||
linkzmq:zmq_send[3]
|
||||
linkzmq:zmq_recv[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq_send.adoc[zmq_send]
|
||||
xref:zmq_recv.adoc[zmq_recv]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
Your operating system documentation for the _poll()_ system call.
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,14 +1,11 @@
|
||||
zmq_poller(3)
|
||||
===========
|
||||
= zmq_poller(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_poller - input/output multiplexing
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
|
||||
*void *zmq_poller_new (void);*
|
||||
|
||||
@ -39,8 +36,7 @@ SYNOPSIS
|
||||
|
||||
*int zmq_poller_fd (void '*poller', zmq_fd_t '*fd');*
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_poller_*_ functions provide a mechanism for applications to multiplex
|
||||
input/output events in a level-triggered fashion over a set of sockets.
|
||||
|
||||
@ -153,8 +149,7 @@ at least one thread-safe socket is currently registered.
|
||||
Note that closing a socket that is registered in a poller leads to undefined
|
||||
behavior. The socket must be unregistered first.
|
||||
|
||||
EVENT TYPES
|
||||
-----------
|
||||
== EVENT TYPES
|
||||
|
||||
The 'events' parameter of _zmq_poller_add_ and _zmq_poller_modify_, and the
|
||||
'events' member of the zmq_poller_event_t structure are bit masks constructed
|
||||
@ -194,8 +189,7 @@ NOTE: The _zmq_poller_*_ functions may be implemented or emulated using operatin
|
||||
system interfaces other than _poll()_, and as such may be subject to the limits
|
||||
of those interfaces in ways not defined in this documentation.
|
||||
|
||||
THREAD SAFETY
|
||||
-------------
|
||||
== THREAD SAFETY
|
||||
Like most other 0MQ objects, a poller is not thread-safe. All operations must
|
||||
be called from the same thread. Otherwise, behaviour is undefined.
|
||||
|
||||
@ -203,8 +197,7 @@ In addition to that, if you want to add a socket to multiple existing poller
|
||||
instances, the socket itself needs to be thread-safe (Server, Client, ...).
|
||||
Otherwise, behaviour is undefined.
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
_zmq_poller_new_ returns a valid pointer to a poller, or NULL in case of a failure.
|
||||
|
||||
All functions that return an int, return -1 in case of a failure. In that case,
|
||||
@ -215,8 +208,7 @@ the events array. It never returns 0.
|
||||
|
||||
All other functions return 0 in case of a successful execution.
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
On _zmq_poller_new_:
|
||||
|
||||
*ENOMEM*::
|
||||
@ -293,8 +285,7 @@ The poller has no associated file descriptor.
|
||||
*EFAULT*::
|
||||
The provided 'poller' did not point to a valid poller.
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Polling indefinitely for input events on both a 0MQ socket and a standard socket.
|
||||
----
|
||||
void *poller = zmq_poller_new ();
|
||||
@ -320,15 +311,13 @@ zmq_poller_destroy (&poller);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_socket[3]
|
||||
linkzmq:zmq_send[3]
|
||||
linkzmq:zmq_recv[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq_send.adoc[zmq_send]
|
||||
xref:zmq_recv.adoc[zmq_recv]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,27 +1,23 @@
|
||||
zmq_poll(3)
|
||||
===========
|
||||
= zmq_poll(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_ppoll - input/output multiplexing with signal mask
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
|
||||
*int zmq_ppoll (zmq_pollitem_t '*items', int 'nitems', long 'timeout', const sigset_t '*sigmask');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The relationship between _zmq_poll()_ and _zmq_ppoll()_ is analogous to the
|
||||
relationship between poll(2) and ppoll(2) and between select(2) and
|
||||
pselect(2): _zmq_ppoll()_ allows an application to safely wait until either a
|
||||
file descriptor becomes ready or until a signal is caught.
|
||||
|
||||
When using _zmq_ppoll()_ with 'sigmask' set to NULL, its behavior is identical
|
||||
to that of _zmq_poll()_. See linkzmq:zmq_poll[3] for more on this.
|
||||
to that of _zmq_poll()_. See xref:zmq_poll.adoc[zmq_poll] for more on this.
|
||||
|
||||
To make full use of _zmq_ppoll()_, a non-NULL pointer to a signal mask must be
|
||||
constructed and passed to 'sigmask'. See sigprocmask(2) for more details. When
|
||||
@ -49,8 +45,7 @@ supported in Windows builds. It is still callable, but its 'sigmask' has void
|
||||
pointer type (because 'sigset_t' is also not available on Windows) and
|
||||
_zmq_ppoll()_ will return with an error (see error section below).
|
||||
|
||||
THREAD SAFETY
|
||||
-------------
|
||||
== THREAD SAFETY
|
||||
The *zmq_pollitem_t* array must only be used by the thread which
|
||||
will/is calling _zmq_ppoll_.
|
||||
|
||||
@ -59,16 +54,14 @@ different thread, the socket itself needs to be thead-safe (Server, Client, ...)
|
||||
Otherwise, behaviour is undefined.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
Upon successful completion, the _zmq_ppoll()_ function shall return the number
|
||||
of *zmq_pollitem_t* structures with events signaled in 'revents' or `0` if no
|
||||
events have been signaled. Upon failure, _zmq_ppoll()_ shall return `-1` and set
|
||||
'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*ETERM*::
|
||||
At least one of the members of the 'items' array refers to a 'socket' whose
|
||||
associated 0MQ 'context' was terminated.
|
||||
@ -84,10 +77,9 @@ available.
|
||||
_zmq_ppoll()_ was not activated in this build.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Polling indefinitely for input events on both a 0MQ socket and a standard socket.
|
||||
See the _example section_ of linkzmq:zmq_poll[3]. One only needs to replace
|
||||
See the _example section_ of xref:zmq_poll.adoc[zmq_poll] One only needs to replace
|
||||
the _zmq_poll_ call with _zmq_ppoll_ and add a _NULL_ argument for the 'sigmask'
|
||||
parameter.
|
||||
|
||||
@ -123,18 +115,16 @@ if (rc < 0 && errno == EINTR && sigterm_received) {
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_poll[3]
|
||||
linkzmq:zmq_socket[3]
|
||||
linkzmq:zmq_send[3]
|
||||
linkzmq:zmq_recv[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_poll.adoc[zmq_poll]
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq_send.adoc[zmq_send]
|
||||
xref:zmq_recv.adoc[zmq_recv]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
Your operating system documentation for the _poll()_ system call.
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,18 +1,14 @@
|
||||
zmq_proxy(3)
|
||||
============
|
||||
= zmq_proxy(3)
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_proxy - start built-in 0MQ proxy
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_proxy (void '*frontend', void '*backend', void '*capture');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_proxy()_ function starts the built-in 0MQ proxy in the current
|
||||
application thread.
|
||||
|
||||
@ -31,10 +27,9 @@ If the capture socket is not NULL, the proxy shall send all messages, received
|
||||
on both frontend and backend, to the capture socket. The capture socket should
|
||||
be a 'ZMQ_PUB', 'ZMQ_DEALER', 'ZMQ_PUSH', or 'ZMQ_PAIR' socket.
|
||||
|
||||
Refer to linkzmq:zmq_socket[3] for a description of the available socket types.
|
||||
Refer to xref:zmq_socket.adoc[zmq_socket] for a description of the available socket types.
|
||||
|
||||
EXAMPLE USAGE
|
||||
-------------
|
||||
== EXAMPLE USAGE
|
||||
|
||||
Shared Queue
|
||||
~~~~~~~~~~~~
|
||||
@ -61,15 +56,13 @@ When the frontend is a ZMQ_PULL socket, and the backend is a ZMQ_PUSH socket,
|
||||
the proxy shall collect tasks from a set of clients and forwards these to a set
|
||||
of workers using the pipeline pattern.
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_proxy()_ function always returns `-1` and 'errno' set to *ETERM* or
|
||||
*EINTR* (the 0MQ 'context' associated with either of the specified sockets was
|
||||
terminated) or *EFAULT* (the provided 'frontend' or 'backend' was invalid).
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Creating a shared queue proxy
|
||||
----
|
||||
// Create frontend and backend sockets
|
||||
@ -85,15 +78,13 @@ zmq_proxy (frontend, backend, NULL);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_bind[3]
|
||||
linkzmq:zmq_connect[3]
|
||||
linkzmq:zmq_socket[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_bind.adoc[zmq_bind]
|
||||
xref:zmq_connect.adoc[zmq_connect]
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_proxy_steerable(3)
|
||||
======================
|
||||
= zmq_proxy_steerable(3)
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_proxy_steerable - built-in 0MQ proxy with control flow
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_proxy_steerable (const void '*frontend', const void '*backend',
|
||||
const void '*capture', const void '*control');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
|
||||
The _zmq_proxy_steerable()_ function is a variant of the _zmq_proxy()_ function.
|
||||
It accepts a fourth _control_ socket. When the _control_ socket is _NULL_ the
|
||||
@ -57,16 +53,14 @@ message reply to the _STATISTICS_ command. These are:
|
||||
Message totals count each part in a multipart message individually.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_proxy_steerable()_ function returns 0 if TERMINATE is received on its
|
||||
control socket. Otherwise, it returns -1 and errno set to ETERM or EINTR (the
|
||||
0MQ context associated with either of the specified sockets was terminated) or
|
||||
EFAULT (the provided frontend or backend was invalid).
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Create a function to run the proxy
|
||||
----
|
||||
// Create the frontend and backend sockets to be proxied
|
||||
@ -114,16 +108,14 @@ zmq_close(control);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_proxy[3]
|
||||
linkzmq:zmq_bind[3]
|
||||
linkzmq:zmq_connect[3]
|
||||
linkzmq:zmq_socket[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_proxy.adoc[zmq_proxy]
|
||||
xref:zmq_bind.adoc[zmq_bind]
|
||||
xref:zmq_connect.adoc[zmq_connect]
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_recv(3)
|
||||
===========
|
||||
= zmq_recv(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_recv - receive a message part from a socket
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_recv (void '*socket', void '*buf', size_t 'len', int 'flags');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_recv()_ function shall receive a message from the socket referenced
|
||||
by the 'socket' argument and store it in the buffer referenced by the 'buf'
|
||||
argument. Any bytes exceeding the length specified by the 'len' argument shall
|
||||
@ -36,21 +32,19 @@ message or none at all. The total number of message parts is unlimited except
|
||||
by available memory.
|
||||
|
||||
An application that processes multi-part messages must use the _ZMQ_RCVMORE_
|
||||
linkzmq:zmq_getsockopt[3] option after calling _zmq_recv()_ to determine if
|
||||
xref:zmq_getsockopt.adoc[zmq_getsockopt] option after calling _zmq_recv()_ to determine if
|
||||
there are further parts to receive.
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_recv()_ function shall return number of bytes in the message
|
||||
if successful. Note that the value can exceed the value of the 'len' parameter
|
||||
in case the message was truncated. If not successful the function shall return
|
||||
`-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EAGAIN*::
|
||||
Either the timeout set via the socket-option ZMQ_RCVTIMEO (see linkzmq:zmq_setsockopt[3])
|
||||
Either the timeout set via the socket-option ZMQ_RCVTIMEO (see xref:zmq_setsockopt.adoc[zmq_setsockopt])
|
||||
has been reached (flag ZMQ_DONTWAIT not set) without being able to read a message
|
||||
from the socket or there are no messages available at the moment (flag ZMQ_DONTWAIT set)
|
||||
and the operation would block.
|
||||
@ -60,7 +54,7 @@ The _zmq_recv()_ operation is not supported by this socket type.
|
||||
The _zmq_recv()_ operation cannot be performed on this socket at the moment
|
||||
due to the socket not being in the appropriate state. This error may occur with
|
||||
socket types that switch between several states, such as ZMQ_REP. See the
|
||||
_messaging patterns_ section of linkzmq:zmq_socket[3] for more information.
|
||||
_messaging patterns_ section of xref:zmq_socket.adoc[zmq_socket] for more information.
|
||||
*ETERM*::
|
||||
The 0MQ 'context' associated with the specified 'socket' was terminated.
|
||||
*ENOTSOCK*::
|
||||
@ -70,8 +64,7 @@ The operation was interrupted by delivery of a signal before a message was
|
||||
available.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Receiving a message from a socket
|
||||
----
|
||||
char buf [256];
|
||||
@ -80,16 +73,14 @@ assert (nbytes != -1);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_send[3]
|
||||
linkzmq:zmq_getsockopt[3]
|
||||
linkzmq:zmq_setsockopt[3]
|
||||
linkzmq:zmq_socket[7]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_send.adoc[zmq_send]
|
||||
xref:zmq_getsockopt.adoc[zmq_getsockopt]
|
||||
xref:zmq_setsockopt.adoc[zmq_setsockopt]
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_recvmsg(3)
|
||||
==============
|
||||
= zmq_recvmsg(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_recvmsg - receive a message part from a socket
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_recvmsg (void '*socket', zmq_msg_t '*msg', int 'flags');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_recvmsg()_ function shall receive a message part from the socket
|
||||
referenced by the 'socket' argument and store it in the message referenced by
|
||||
the 'msg' argument. Any content previously stored in 'msg' shall be properly
|
||||
@ -38,21 +34,19 @@ message or none at all. The total number of message parts is unlimited except
|
||||
by available memory.
|
||||
|
||||
An application that processes multi-part messages must use the _ZMQ_RCVMORE_
|
||||
linkzmq:zmq_getsockopt[3] option after calling _zmq_recvmsg()_ to determine if
|
||||
xref:zmq_getsockopt.adoc[zmq_getsockopt] option after calling _zmq_recvmsg()_ to determine if
|
||||
there are further parts to receive.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_recvmsg()_ function shall return number of bytes in the message
|
||||
if successful. Otherwise it shall return `-1` and set 'errno' to one of the
|
||||
values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EAGAIN*::
|
||||
Either the timeout set via the socket-option ZMQ_RCVTIMEO (see linkzmq:zmq_setsockopt[3])
|
||||
Either the timeout set via the socket-option ZMQ_RCVTIMEO (see xref:zmq_setsockopt.adoc[zmq_setsockopt])
|
||||
has been reached (flag ZMQ_DONTWAIT not set) without being able to read a message
|
||||
from the socket or there are no messages available at the moment (flag ZMQ_DONTWAIT set)
|
||||
and the operation would block.
|
||||
@ -62,7 +56,7 @@ The _zmq_recvmsg()_ operation is not supported by this socket type.
|
||||
The _zmq_recvmsg()_ operation cannot be performed on this socket at the moment
|
||||
due to the socket not being in the appropriate state. This error may occur with
|
||||
socket types that switch between several states, such as ZMQ_REP. See the
|
||||
_messaging patterns_ section of linkzmq:zmq_socket[3] for more information.
|
||||
_messaging patterns_ section of xref:zmq_socket.adoc[zmq_socket] for more information.
|
||||
*ETERM*::
|
||||
The 0MQ 'context' associated with the specified 'socket' was terminated.
|
||||
*ENOTSOCK*::
|
||||
@ -74,8 +68,7 @@ available.
|
||||
The message passed to the function was invalid.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Receiving a message from a socket
|
||||
----
|
||||
/* Create an empty 0MQ message */
|
||||
@ -109,17 +102,15 @@ do {
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_recv[3]
|
||||
linkzmq:zmq_send[3]
|
||||
linkzmq:zmq_getsockopt[3]
|
||||
linkzmq:zmq_setsockopt[3]
|
||||
linkzmq:zmq_socket[7]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_recv.adoc[zmq_recv]
|
||||
xref:zmq_send.adoc[zmq_send]
|
||||
xref:zmq_getsockopt.adoc[zmq_getsockopt]
|
||||
xref:zmq_setsockopt.adoc[zmq_setsockopt]
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_send(3)
|
||||
===========
|
||||
= zmq_send(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_send - send a message part on a socket
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_send (void '*socket', const void '*buf', size_t 'len', int 'flags');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_send()_ function shall queue a message created from the buffer
|
||||
referenced by the 'buf' and 'len' arguments. The 'flags' argument is
|
||||
a combination of the flags defined below:
|
||||
@ -46,15 +42,13 @@ An application that sends multi-part messages must use the _ZMQ_SNDMORE_ flag
|
||||
when sending each message part except the final one.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_send()_ function shall return number of bytes in the message
|
||||
if successful. Otherwise it shall return `-1` and set 'errno' to one of the
|
||||
values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EAGAIN*::
|
||||
Non-blocking mode was requested and the message cannot be sent at the moment.
|
||||
*ENOTSUP*::
|
||||
@ -65,7 +59,7 @@ The sender tried to send multipart data, which the socket type does not allow.
|
||||
The _zmq_send()_ operation cannot be performed on this socket at the moment
|
||||
due to the socket not being in the appropriate state. This error may occur with
|
||||
socket types that switch between several states, such as ZMQ_REP. See the
|
||||
_messaging patterns_ section of linkzmq:zmq_socket[3] for more information.
|
||||
_messaging patterns_ section of xref:zmq_socket.adoc[zmq_socket] for more information.
|
||||
*ETERM*::
|
||||
The 0MQ 'context' associated with the specified 'socket' was terminated.
|
||||
*ENOTSOCK*::
|
||||
@ -77,8 +71,7 @@ sent.
|
||||
The message cannot be routed.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Sending a multi-part message
|
||||
----
|
||||
/* Send a multi-part message consisting of three parts to socket */
|
||||
@ -91,15 +84,13 @@ rc = zmq_send (socket, "JK", 2, 0);
|
||||
assert (rc == 2);
|
||||
----
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_send_const[3]
|
||||
linkzmq:zmq_recv[3]
|
||||
linkzmq:zmq_socket[7]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_send_const.adoc[zmq_send_const]
|
||||
xref:zmq_recv.adoc[zmq_recv]
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_send_const(3)
|
||||
=================
|
||||
= zmq_send_const(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_send_const - send a constant-memory message part on a socket
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_send_const (void '*socket', const void '*buf', size_t 'len', int 'flags');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_send_const()_ function shall queue a message created from the buffer
|
||||
referenced by the 'buf' and 'len' arguments. The message buffer is assumed
|
||||
to be constant-memory and will therefore not be copied or deallocated
|
||||
@ -47,15 +43,13 @@ An application that sends multi-part messages must use the _ZMQ_SNDMORE_ flag
|
||||
when sending each message part except the final one.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_send_const()_ function shall return number of bytes in the message
|
||||
if successful. Otherwise it shall return `-1` and set 'errno' to one of the
|
||||
values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EAGAIN*::
|
||||
Non-blocking mode was requested and the message cannot be sent at the moment.
|
||||
*ENOTSUP*::
|
||||
@ -64,7 +58,7 @@ The _zmq_send_const()_ operation is not supported by this socket type.
|
||||
The _zmq_send_const()_ operation cannot be performed on this socket at the moment
|
||||
due to the socket not being in the appropriate state. This error may occur with
|
||||
socket types that switch between several states, such as ZMQ_REP. See the
|
||||
_messaging patterns_ section of linkzmq:zmq_socket[3] for more information.
|
||||
_messaging patterns_ section of xref:zmq_socket.adoc[zmq_socket] for more information.
|
||||
*ETERM*::
|
||||
The 0MQ 'context' associated with the specified 'socket' was terminated.
|
||||
*ENOTSOCK*::
|
||||
@ -76,8 +70,7 @@ sent.
|
||||
The message cannot be routed.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Sending a multi-part message
|
||||
----
|
||||
/* Send a multi-part message consisting of three parts to socket */
|
||||
@ -90,15 +83,13 @@ rc = zmq_send_const (socket, "JK", 2, 0);
|
||||
assert (rc == 2);
|
||||
----
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_send[3]
|
||||
linkzmq:zmq_recv[3]
|
||||
linkzmq:zmq_socket[7]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_send.adoc[zmq_send]
|
||||
xref:zmq_recv.adoc[zmq_recv]
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_sendmsg(3)
|
||||
==============
|
||||
= zmq_sendmsg(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_sendmsg - send a message part on a socket
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_sendmsg (void '*socket', zmq_msg_t '*msg', int 'flags');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_sendmsg()_ function shall queue the message referenced by the 'msg'
|
||||
argument to be sent to the socket referenced by the 'socket' argument. The
|
||||
'flags' argument is a combination of the flags defined below:
|
||||
@ -51,15 +47,13 @@ by available memory.
|
||||
An application that sends multi-part messages must use the _ZMQ_SNDMORE_ flag
|
||||
when sending each message part except the final one.
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_sendmsg()_ function shall return number of bytes in the message
|
||||
if successful. Otherwise it shall return `-1` and set 'errno' to one of the
|
||||
values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EAGAIN*::
|
||||
Non-blocking mode was requested and the message cannot be sent at the moment.
|
||||
*ENOTSUP*::
|
||||
@ -70,7 +64,7 @@ The sender tried to send multipart data, which the socket type does not allow.
|
||||
The _zmq_sendmsg()_ operation cannot be performed on this socket at the moment
|
||||
due to the socket not being in the appropriate state. This error may occur with
|
||||
socket types that switch between several states, such as ZMQ_REP. See the
|
||||
_messaging patterns_ section of linkzmq:zmq_socket[3] for more information.
|
||||
_messaging patterns_ section of xref:zmq_socket.adoc[zmq_socket] for more information.
|
||||
*ETERM*::
|
||||
The 0MQ 'context' associated with the specified 'socket' was terminated.
|
||||
*ENOTSOCK*::
|
||||
@ -84,8 +78,7 @@ Invalid message.
|
||||
The message cannot be routed.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Filling in a message and sending it to a socket
|
||||
----
|
||||
/* Create a new message, allocating 6 bytes for message content */
|
||||
@ -109,14 +102,12 @@ rc = zmq_sendmsg (socket, &part3, 0);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_recv[3]
|
||||
linkzmq:zmq_socket[7]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_recv.adoc[zmq_recv]
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,15 +1,12 @@
|
||||
zmq_setsockopt(3)
|
||||
=================
|
||||
= zmq_setsockopt(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
|
||||
zmq_setsockopt - set 0MQ socket options
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_setsockopt (void '*socket', int 'option_name', const void '*option_value', size_t 'option_len');*
|
||||
|
||||
Caution: All options, with the exception of ZMQ_SUBSCRIBE, ZMQ_UNSUBSCRIBE,
|
||||
@ -21,8 +18,7 @@ subsequent socket bind/connects.
|
||||
Specifically, security options take effect for subsequent bind/connect calls,
|
||||
and can be changed at any time to affect subsequent binds and/or connects.
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_setsockopt()_ function shall set the option specified by the
|
||||
'option_name' argument to the value pointed to by the 'option_value' argument
|
||||
for the 0MQ socket pointed to by the 'socket' argument. The 'option_len'
|
||||
@ -46,7 +42,7 @@ corresponds to thread 1, second lowest bit to thread 2 and so on. For example,
|
||||
a value of 3 specifies that subsequent connections on 'socket' shall be handled
|
||||
exclusively by I/O threads 1 and 2.
|
||||
|
||||
See also linkzmq:zmq_init[3] for details on allocating the number of I/O
|
||||
See also xref:zmq_init.adoc[zmq_init] for details on allocating the number of I/O
|
||||
threads for a specific _context_.
|
||||
|
||||
[horizontal]
|
||||
@ -144,7 +140,7 @@ support multi-part messages, in particular, only one part of it is kept
|
||||
in the socket internal queue.
|
||||
|
||||
NOTE: If recv is not called on the inbound socket, the queue and memory will
|
||||
grow with each message received. Use linkzmq:zmq_getsockopt[3] with ZMQ_EVENTS
|
||||
grow with each message received. Use xref:zmq_getsockopt.adoc[zmq_getsockopt] with ZMQ_EVENTS
|
||||
to trigger the conflation of the messages.
|
||||
|
||||
[horizontal]
|
||||
@ -171,12 +167,12 @@ Applicable socket types:: all, when using TCP transports.
|
||||
ZMQ_CURVE_PUBLICKEY: Set CURVE public key
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Sets the socket's long term public key. You must set this on CURVE client
|
||||
sockets, see linkzmq:zmq_curve[7]. You can provide the key as 32 binary
|
||||
sockets, see xref:zmq_curve.adoc[zmq_curve] You can provide the key as 32 binary
|
||||
bytes, or as a 40-character string encoded in the Z85 encoding format and
|
||||
terminated in a null byte. The public key must always be used with the
|
||||
matching secret key. To generate a public/secret key pair, use
|
||||
linkzmq:zmq_curve_keypair[3]. To derive the public key from a secret key,
|
||||
use linkzmq:zmq_curve_public[3].
|
||||
xref:zmq_curve_keypair.adoc[zmq_curve_keypair] To derive the public key from a secret key,
|
||||
use xref:zmq_curve_public.adoc[zmq_curve_public]
|
||||
|
||||
NOTE: an option value size of 40 is supported for backwards compatibility,
|
||||
though is deprecated.
|
||||
@ -191,11 +187,11 @@ Applicable socket types:: all, when using TCP transport
|
||||
ZMQ_CURVE_SECRETKEY: Set CURVE secret key
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Sets the socket's long term secret key. You must set this on both CURVE
|
||||
client and server sockets, see linkzmq:zmq_curve[7]. You can provide the
|
||||
client and server sockets, see xref:zmq_curve.adoc[zmq_curve] You can provide the
|
||||
key as 32 binary bytes, or as a 40-character string encoded in the Z85
|
||||
encoding format and terminated in a null byte. To generate a public/secret
|
||||
key pair, use linkzmq:zmq_curve_keypair[3]. To derive the public key from
|
||||
a secret key, use linkzmq:zmq_curve_public[3].
|
||||
key pair, use xref:zmq_curve_keypair.adoc[zmq_curve_keypair] To derive the public key from
|
||||
a secret key, use xref:zmq_curve_public.adoc[zmq_curve_public]
|
||||
|
||||
NOTE: an option value size of 40 is supported for backwards compatibility,
|
||||
though is deprecated.
|
||||
@ -210,7 +206,7 @@ Applicable socket types:: all, when using TCP transport
|
||||
ZMQ_CURVE_SERVER: Set CURVE server role
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Defines whether the socket will act as server for CURVE security, see
|
||||
linkzmq:zmq_curve[7]. A value of '1' means the socket will act as
|
||||
xref:zmq_curve.adoc[zmq_curve] A value of '1' means the socket will act as
|
||||
CURVE server. A value of '0' means the socket will not act as CURVE
|
||||
server, and its security role then depends on other option settings.
|
||||
Setting this to '0' shall reset the socket security to NULL. When you
|
||||
@ -228,11 +224,11 @@ Applicable socket types:: all, when using TCP transport
|
||||
ZMQ_CURVE_SERVERKEY: Set CURVE server key
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Sets the socket's long term server key. You must set this on CURVE client
|
||||
sockets, see linkzmq:zmq_curve[7]. You can provide the key as 32 binary
|
||||
sockets, see xref:zmq_curve.adoc[zmq_curve] You can provide the key as 32 binary
|
||||
bytes, or as a 40-character string encoded in the Z85 encoding format and
|
||||
terminated in a null byte. This key must have been generated together with
|
||||
the server's secret key. To generate a public/secret key pair, use
|
||||
linkzmq:zmq_curve_keypair[3].
|
||||
xref:zmq_curve_keypair.adoc[zmq_curve_keypair]
|
||||
|
||||
NOTE: an option value size of 40 is supported for backwards compatibility,
|
||||
though is deprecated.
|
||||
@ -274,7 +270,7 @@ Applicable socket types:: ZMQ_DEALER, ZMQ_CLIENT and ZMQ_PEER
|
||||
ZMQ_GSSAPI_PLAINTEXT: Disable GSSAPI encryption
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Defines whether communications on the socket will be encrypted, see
|
||||
linkzmq:zmq_gssapi[7]. A value of '1' means that communications will be
|
||||
xref:zmq_gssapi.adoc[zmq_gssapi] A value of '1' means that communications will be
|
||||
plaintext. A value of '0' means communications will be encrypted.
|
||||
|
||||
[horizontal]
|
||||
@ -298,7 +294,7 @@ Applicable socket types:: all, when using TCP transport
|
||||
ZMQ_GSSAPI_SERVER: Set GSSAPI server role
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Defines whether the socket will act as server for GSSAPI security, see
|
||||
linkzmq:zmq_gssapi[7]. A value of '1' means the socket will act as GSSAPI
|
||||
xref:zmq_gssapi.adoc[zmq_gssapi] A value of '1' means the socket will act as GSSAPI
|
||||
server. A value of '0' means the socket will act as GSSAPI client.
|
||||
|
||||
[horizontal]
|
||||
@ -486,8 +482,8 @@ ZMQ_LINGER: Set linger period for socket shutdown
|
||||
The 'ZMQ_LINGER' option shall set the linger period for the specified 'socket'.
|
||||
The linger period determines how long pending messages which have yet to be
|
||||
sent to a peer shall linger in memory after a socket is disconnected with
|
||||
linkzmq:zmq_disconnect[3] or closed with linkzmq:zmq_close[3], and further
|
||||
affects the termination of the socket's context with linkzmq:zmq_ctx_term[3].
|
||||
xref:zmq_disconnect.adoc[zmq_disconnect] or closed with xref:zmq_close.adoc[zmq_close], and further
|
||||
affects the termination of the socket's context with xref:zmq_ctx_term.adoc[zmq_ctx_term]
|
||||
The following outlines the different behaviours:
|
||||
|
||||
* A value of '-1' specifies an infinite linger period. Pending
|
||||
@ -532,7 +528,8 @@ followed by the metadata value, for example "X-key:value".
|
||||
_Property_ names are restricted to maximum 255 characters and must be prefixed by "X-".
|
||||
Multiple application metadata properties can be added to a socket by executing zmq_setsockopt()
|
||||
multiple times. As the argument is a null-terminated string, binary data must be encoded
|
||||
before it is added e.g. using Z85 (linkzmq:zmq_z85_encode[3]).
|
||||
before it is added e.g. using Z85 (xref:zmq_z85_encode.adoc[zmq_z85_encode]).
|
||||
|
||||
|
||||
NOTE: in DRAFT state, not yet available in stable releases.
|
||||
|
||||
@ -575,8 +572,8 @@ ZMQ_PLAIN_PASSWORD: Set PLAIN security password
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Sets the password for outgoing connections over TCP or IPC. If you set this
|
||||
to a non-null value, the security mechanism used for connections shall be
|
||||
PLAIN, see linkzmq:zmq_plain[7]. If you set this to a null value, the security
|
||||
mechanism used for connections shall be NULL, see linkzmq:zmq_null[3].
|
||||
PLAIN, see xref:zmq_plain.adoc[zmq_plain] If you set this to a null value, the security
|
||||
mechanism used for connections shall be NULL, see xref:zmq_null.adoc[zmq_null]
|
||||
|
||||
[horizontal]
|
||||
Option value type:: character string
|
||||
@ -588,7 +585,7 @@ Applicable socket types:: all, when using TCP transport
|
||||
ZMQ_PLAIN_SERVER: Set PLAIN server role
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Defines whether the socket will act as server for PLAIN security, see
|
||||
linkzmq:zmq_plain[7]. A value of '1' means the socket will act as
|
||||
xref:zmq_plain.adoc[zmq_plain] A value of '1' means the socket will act as
|
||||
PLAIN server. A value of '0' means the socket will not act as PLAIN
|
||||
server, and its security role then depends on other option settings.
|
||||
Setting this to '0' shall reset the socket security to NULL.
|
||||
@ -604,8 +601,8 @@ ZMQ_PLAIN_USERNAME: Set PLAIN security username
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Sets the username for outgoing connections over TCP or IPC. If you set this
|
||||
to a non-null value, the security mechanism used for connections shall be
|
||||
PLAIN, see linkzmq:zmq_plain[7]. If you set this to a null value, the security
|
||||
mechanism used for connections shall be NULL, see linkzmq:zmq_null[3].
|
||||
PLAIN, see xref:zmq_plain.adoc[zmq_plain] If you set this to a null value, the security
|
||||
mechanism used for connections shall be NULL, see xref:zmq_null.adoc[zmq_null]
|
||||
|
||||
[horizontal]
|
||||
Option value type:: character string
|
||||
@ -670,7 +667,7 @@ Applicable socket types:: ZMQ_ROUTER, ZMQ_DEALER, ZMQ_REQ
|
||||
ZMQ_RATE: Set multicast data rate
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
The 'ZMQ_RATE' option shall set the maximum send or receive data rate for
|
||||
multicast transports such as linkzmq:zmq_pgm[7] using the specified 'socket'.
|
||||
multicast transports such as xref:zmq_pgm.adoc[zmq_pgm] using the specified 'socket'.
|
||||
|
||||
[horizontal]
|
||||
Option value type:: int
|
||||
@ -704,12 +701,12 @@ limit.
|
||||
If this limit has been reached the socket shall enter an exceptional state and
|
||||
depending on the socket type, 0MQ shall take appropriate action such as
|
||||
blocking or dropping sent messages. Refer to the individual socket descriptions
|
||||
in linkzmq:zmq_socket[3] for details on the exact action taken for each socket
|
||||
in xref:zmq_socket.adoc[zmq_socket] for details on the exact action taken for each socket
|
||||
type.
|
||||
|
||||
NOTE: 0MQ does not guarantee that the socket will be able to queue as many as ZMQ_RCVHWM
|
||||
messages, and the actual limit may be lower or higher, depending on socket transport.
|
||||
A notable example is for sockets using TCP transport; see linkzmq:zmq_tcp[7].
|
||||
A notable example is for sockets using TCP transport; see xref:zmq_tcp.adoc[zmq_tcp]
|
||||
|
||||
[horizontal]
|
||||
Option value type:: int
|
||||
@ -956,14 +953,14 @@ limit.
|
||||
If this limit has been reached the socket shall enter an exceptional state and
|
||||
depending on the socket type, 0MQ shall take appropriate action such as
|
||||
blocking or dropping sent messages. Refer to the individual socket descriptions
|
||||
in linkzmq:zmq_socket[3] for details on the exact action taken for each socket
|
||||
in xref:zmq_socket.adoc[zmq_socket] for details on the exact action taken for each socket
|
||||
type.
|
||||
|
||||
NOTE: 0MQ does not guarantee that the socket will accept as many as ZMQ_SNDHWM
|
||||
messages, and the actual limit may be as much as 90% lower depending on the
|
||||
flow of messages on the socket. The socket may even be able to accept more messages
|
||||
than the ZMQ_SNDHWM threshold; a notable example is for sockets using TCP transport;
|
||||
see linkzmq:zmq_tcp[7].
|
||||
see xref:zmq_tcp.adoc[zmq_tcp]
|
||||
|
||||
[horizontal]
|
||||
Option value type:: int
|
||||
@ -1669,13 +1666,11 @@ Default value:: 0 (false)
|
||||
Applicable socket types:: All, when using NORM transport.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_setsockopt()_ function shall return zero if successful. Otherwise it
|
||||
shall return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EINVAL*::
|
||||
The requested option _option_name_ is unknown, or the requested _option_len_ or
|
||||
_option_value_ is invalid.
|
||||
@ -1687,8 +1682,7 @@ The provided 'socket' was invalid.
|
||||
The operation was interrupted by delivery of a signal.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Subscribing to messages on a 'ZMQ_SUB' socket
|
||||
----
|
||||
/* Subscribe to all messages */
|
||||
@ -1716,16 +1710,14 @@ assert (rc);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_getsockopt[3]
|
||||
linkzmq:zmq_socket[3]
|
||||
linkzmq:zmq_plain[7]
|
||||
linkzmq:zmq_curve[7]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_getsockopt.adoc[zmq_getsockopt]
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq_plain.adoc[zmq_plain]
|
||||
xref:zmq_curve.adoc[zmq_curve]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_socket(3)
|
||||
=============
|
||||
= zmq_socket(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_socket - create 0MQ socket
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*void *zmq_socket (void '*context', int 'type');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The 'zmq_socket()' function shall create a 0MQ socket within the specified
|
||||
'context' and return an opaque handle to the newly created socket. The 'type'
|
||||
argument specifies the socket type, which determines the semantics of
|
||||
@ -21,9 +17,9 @@ communication over the socket.
|
||||
|
||||
The newly created socket is initially unbound, and not associated with any
|
||||
endpoints. In order to establish a message flow a socket must first be
|
||||
connected to at least one endpoint with linkzmq:zmq_connect[3], or at least one
|
||||
connected to at least one endpoint with xref:zmq_connect.adoc[zmq_connect], or at least one
|
||||
endpoint must be created for accepting incoming connections with
|
||||
linkzmq:zmq_bind[3].
|
||||
xref:zmq_bind.adoc[zmq_bind]
|
||||
|
||||
.Key differences to conventional sockets
|
||||
Generally speaking, conventional sockets present a _synchronous_ interface to
|
||||
@ -84,12 +80,12 @@ A 'ZMQ_CLIENT' socket talks to a 'ZMQ_SERVER' socket. Either peer can connect,
|
||||
though the usual and recommended model is to bind the 'ZMQ_SERVER' and connect
|
||||
the 'ZMQ_CLIENT'.
|
||||
|
||||
If the 'ZMQ_CLIENT' socket has established a connection, linkzmq:zmq_send[3]
|
||||
If the 'ZMQ_CLIENT' socket has established a connection, xref:zmq_send.adoc[zmq_send]
|
||||
will accept messages, queue them, and send them as rapidly as the network
|
||||
allows. The outgoing buffer limit is defined by the high water mark for the
|
||||
socket. If the outgoing buffer is full, or, for connection-oriented transports,
|
||||
if the ZMQ_IMMEDIATE option is set and there is no connected peer,
|
||||
linkzmq:zmq_send[3] will block.
|
||||
xref:zmq_send.adoc[zmq_send] will block.
|
||||
The 'ZMQ_CLIENT' socket will not drop messages.
|
||||
|
||||
When a 'ZMQ_CLIENT' socket is connected to multiple 'ZMQ_SERVER' sockets,
|
||||
@ -99,7 +95,7 @@ connected peer. This usage is sensible only for stateless protocols.
|
||||
|
||||
'ZMQ_CLIENT' sockets are threadsafe and can be used from multiple threads
|
||||
at the same time. Note that replies from a 'ZMQ_SERVER' socket will go to
|
||||
the first client thread that calls linkzmq:zmq_msg_recv[3]. If you need to get
|
||||
the first client thread that calls xref:zmq_msg_recv.adoc[zmq_msg_recv] If you need to get
|
||||
replies back to the originating thread, use one 'ZMQ_CLIENT' socket per
|
||||
thread.
|
||||
|
||||
@ -125,9 +121,9 @@ socket can only reply to an incoming message: the 'ZMQ_CLIENT' peer must
|
||||
always initiate a conversation.
|
||||
|
||||
Each received message has a 'routing_id' that is a 32-bit unsigned integer.
|
||||
The application can fetch this with linkzmq:zmq_msg_routing_id[3]. To send
|
||||
The application can fetch this with xref:zmq_msg_routing_id.adoc[zmq_msg_routing_id] To send
|
||||
a message to a given 'ZMQ_CLIENT' peer the application must set the peer's
|
||||
'routing_id' on the message, using linkzmq:zmq_msg_set_routing_id[3].
|
||||
'routing_id' on the message, using xref:zmq_msg_set_routing_id.adoc[zmq_msg_set_routing_id]
|
||||
|
||||
If the 'routing_id' is not specified, or does not refer to a connected client
|
||||
peer, the send call will fail with EHOSTUNREACH. If the outgoing buffer for
|
||||
@ -170,9 +166,9 @@ NOTE: Radio-dish is still in draft phase.
|
||||
ZMQ_RADIO
|
||||
^^^^^^^
|
||||
A socket of type 'ZMQ_RADIO' is used by a _publisher_ to distribute data.
|
||||
Each message belong to a group, a group is specified with linkzmq:zmq_msg_set_group[3].
|
||||
Each message belong to a group, a group is specified with xref:zmq_msg_set_group.adoc[zmq_msg_set_group]
|
||||
Messages are distributed to all members of a group.
|
||||
The linkzmq:zmq_recv[3] function is not implemented for this socket type.
|
||||
The xref:zmq_recv.adoc[zmq_recv] function is not implemented for this socket type.
|
||||
|
||||
When a 'ZMQ_RADIO' socket enters the 'mute' state due to having reached the
|
||||
high water mark for a _subscriber_, then any messages that would be sent to the
|
||||
@ -196,9 +192,9 @@ ZMQ_DISH
|
||||
^^^^^^^^
|
||||
A socket of type 'ZMQ_DISH' is used by a _subscriber_ to subscribe to groups
|
||||
distributed by a _radio_. Initially a 'ZMQ_DISH' socket is not subscribed to
|
||||
any groups, use linkzmq:zmq_join[3] to
|
||||
any groups, use xref:zmq_join.adoc[zmq_join] to
|
||||
join a group.
|
||||
To get the group the message belong to call linkzmq:zmq_msg_group[3].
|
||||
To get the group the message belong to call xref:zmq_msg_group.adoc[zmq_msg_group]
|
||||
The _zmq_send()_ function is not implemented for this socket type.
|
||||
|
||||
NOTE: 'ZMQ_DISH' sockets are threadsafe. They do not accept ZMQ_RCVMORE on receives.
|
||||
@ -224,7 +220,7 @@ ZMQ_PUB
|
||||
^^^^^^^
|
||||
A socket of type 'ZMQ_PUB' is used by a _publisher_ to distribute data.
|
||||
Messages sent are distributed in a fan out fashion to all connected peers.
|
||||
The linkzmq:zmq_recv[3] function is not implemented for this socket type.
|
||||
The xref:zmq_recv.adoc[zmq_recv] function is not implemented for this socket type.
|
||||
|
||||
When a 'ZMQ_PUB' socket enters the 'mute' state due to having reached the
|
||||
high water mark for a _subscriber_, then any messages that would be sent to the
|
||||
@ -245,7 +241,7 @@ ZMQ_SUB
|
||||
^^^^^^^
|
||||
A socket of type 'ZMQ_SUB' is used by a _subscriber_ to subscribe to data
|
||||
distributed by a _publisher_. Initially a 'ZMQ_SUB' socket is not subscribed to
|
||||
any messages, use the 'ZMQ_SUBSCRIBE' option of linkzmq:zmq_setsockopt[3] to
|
||||
any messages, use the 'ZMQ_SUBSCRIBE' option of xref:zmq_setsockopt.adoc[zmq_setsockopt] to
|
||||
specify which messages to subscribe to. The _zmq_send()_ function is not
|
||||
implemented for this socket type.
|
||||
|
||||
@ -312,7 +308,7 @@ socket type.
|
||||
When a 'ZMQ_PUSH' socket enters the 'mute' state due to having reached the
|
||||
high water mark for all downstream _nodes_, or, for connection-oriented transports,
|
||||
if the ZMQ_IMMEDIATE option is set and there are no downstream _nodes_ at all,
|
||||
then any linkzmq:zmq_send[3] operations on the socket shall block until the mute
|
||||
then any xref:zmq_send.adoc[zmq_send] operations on the socket shall block until the mute
|
||||
state ends or at least one downstream _node_ becomes available for sending;
|
||||
messages are not discarded.
|
||||
|
||||
@ -360,7 +356,7 @@ socket type.
|
||||
When a 'ZMQ_SCATTER' socket enters the 'mute' state due to having reached the
|
||||
high water mark for all downstream _nodes_, or, for connection-oriented transports,
|
||||
if the ZMQ_IMMEDIATE option is set and there are no downstream _nodes_ at all,
|
||||
then any linkzmq:zmq_send[3] operations on the socket shall block until the mute
|
||||
then any xref:zmq_send.adoc[zmq_send] operations on the socket shall block until the mute
|
||||
state ends or at least one downstream _node_ becomes available for sending;
|
||||
messages are not discarded.
|
||||
|
||||
@ -414,16 +410,16 @@ time. No message routing or filtering is performed on messages sent over a
|
||||
When a 'ZMQ_PAIR' socket enters the 'mute' state due to having reached the
|
||||
high water mark for the connected peer, or, for connection-oriented transports,
|
||||
if the ZMQ_IMMEDIATE option is set and there is no connected peer, then
|
||||
any linkzmq:zmq_send[3] operations on the socket shall block until the peer
|
||||
any xref:zmq_send.adoc[zmq_send] operations on the socket shall block until the peer
|
||||
becomes available for sending; messages are not discarded.
|
||||
|
||||
While 'ZMQ_PAIR' sockets can be used over transports other than linkzmq:zmq_inproc[7],
|
||||
While 'ZMQ_PAIR' sockets can be used over transports other than xref:zmq_inproc.adoc[zmq_inproc],
|
||||
their inability to auto-reconnect coupled with the fact new incoming connections will
|
||||
be terminated while any previous connections (including ones in a closing state)
|
||||
exist makes them unsuitable for TCP in most cases.
|
||||
|
||||
NOTE: 'ZMQ_PAIR' sockets are designed for inter-thread communication across
|
||||
the linkzmq:zmq_inproc[7] transport and do not implement functionality such
|
||||
the xref:zmq_inproc.adoc[zmq_inproc] transport and do not implement functionality such
|
||||
as auto-reconnection.
|
||||
|
||||
[horizontal]
|
||||
@ -450,13 +446,13 @@ ZMQ_PEER
|
||||
^^^^^^^^
|
||||
A 'ZMQ_PEER' socket talks to a set of 'ZMQ_PEER' sockets.
|
||||
|
||||
To connect and fetch the 'routing_id' of the peer use linkzmq:zmq_connect_peer[3].
|
||||
To connect and fetch the 'routing_id' of the peer use xref:zmq_connect_peer.adoc[zmq_connect_peer]
|
||||
|
||||
Each received message has a 'routing_id' that is a 32-bit unsigned integer.
|
||||
The application can fetch this with linkzmq:zmq_msg_routing_id[3].
|
||||
The application can fetch this with xref:zmq_msg_routing_id.adoc[zmq_msg_routing_id]
|
||||
|
||||
To send a message to a given 'ZMQ_PEER' peer the application must set the peer's
|
||||
'routing_id' on the message, using linkzmq:zmq_msg_set_routing_id[3].
|
||||
'routing_id' on the message, using xref:zmq_msg_set_routing_id.adoc[zmq_msg_set_routing_id]
|
||||
|
||||
If the 'routing_id' is not specified, or does not refer to a connected client
|
||||
peer, the send call will fail with EHOSTUNREACH. If the outgoing buffer for
|
||||
@ -495,16 +491,16 @@ time. No message routing or filtering is performed on messages sent over a
|
||||
When a 'ZMQ_CHANNEL' socket enters the 'mute' state due to having reached the
|
||||
high water mark for the connected peer, or, for connection-oriented transports,
|
||||
if the ZMQ_IMMEDIATE option is set and there is no connected peer, then
|
||||
any linkzmq:zmq_send[3] operations on the socket shall block until the peer
|
||||
any xref:zmq_send.adoc[zmq_send] operations on the socket shall block until the peer
|
||||
becomes available for sending; messages are not discarded.
|
||||
|
||||
While 'ZMQ_CHANNEL' sockets can be used over transports other than linkzmq:zmq_inproc[7],
|
||||
While 'ZMQ_CHANNEL' sockets can be used over transports other than xref:zmq_inproc.adoc[zmq_inproc],
|
||||
their inability to auto-reconnect coupled with the fact new incoming connections will
|
||||
be terminated while any previous connections (including ones in a closing state)
|
||||
exist makes them unsuitable for TCP in most cases.
|
||||
|
||||
NOTE: 'ZMQ_CHANNEL' sockets are designed for inter-thread communication across
|
||||
the linkzmq:zmq_inproc[7] transport and do not implement functionality such
|
||||
the xref:zmq_inproc.adoc[zmq_inproc] transport and do not implement functionality such
|
||||
as auto-reconnection.
|
||||
|
||||
NOTE: 'ZMQ_CHANNEL' sockets are threadsafe. They do not accept ZMQ_RCVMORE on receives.
|
||||
@ -620,7 +616,7 @@ peers, and each message received is fair-queued from all connected peers.
|
||||
When a 'ZMQ_DEALER' socket enters the 'mute' state due to having reached the
|
||||
high water mark for all peers, or, for connection-oriented transports, if the
|
||||
ZMQ_IMMEDIATE option is set and there are no peers at all, then any
|
||||
linkzmq:zmq_send[3] operations on the socket shall block until the mute state
|
||||
xref:zmq_send.adoc[zmq_send] operations on the socket shall block until the mute state
|
||||
ends or at least one peer becomes available for sending; messages are not discarded.
|
||||
|
||||
When a 'ZMQ_DEALER' socket is connected to a 'ZMQ_REP' socket each message sent
|
||||
@ -679,15 +675,13 @@ Incoming routing strategy:: Fair-queued
|
||||
Action in mute state:: Drop (see text)
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_socket()_ function shall return an opaque handle to the newly created
|
||||
socket if successful. Otherwise, it shall return NULL and set 'errno' to one of
|
||||
the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EINVAL*::
|
||||
The requested socket 'type' is invalid.
|
||||
*EFAULT*::
|
||||
@ -697,8 +691,7 @@ The limit on the total number of open 0MQ sockets has been reached.
|
||||
*ETERM*::
|
||||
The context specified was shutdown or terminated.
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Creating a simple HTTP server using ZMQ_STREAM
|
||||
----
|
||||
void *ctx = zmq_ctx_new ();
|
||||
@ -740,19 +733,17 @@ zmq_ctx_destroy (ctx);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_init[3]
|
||||
linkzmq:zmq_setsockopt[3]
|
||||
linkzmq:zmq_bind[3]
|
||||
linkzmq:zmq_connect[3]
|
||||
linkzmq:zmq_send[3]
|
||||
linkzmq:zmq_recv[3]
|
||||
linkzmq:zmq_inproc[7]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_init.adoc[zmq_init]
|
||||
xref:zmq_setsockopt.adoc[zmq_setsockopt]
|
||||
xref:zmq_bind.adoc[zmq_bind]
|
||||
xref:zmq_connect.adoc[zmq_connect]
|
||||
xref:zmq_send.adoc[zmq_send]
|
||||
xref:zmq_recv.adoc[zmq_recv]
|
||||
xref:zmq_inproc.adoc[zmq_inproc]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,27 +1,23 @@
|
||||
zmq_socket_monitor(3)
|
||||
=====================
|
||||
= zmq_socket_monitor(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
|
||||
zmq_socket_monitor - monitor socket events
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_socket_monitor (void '*socket', char '*endpoint', int 'events');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_socket_monitor()_ method lets an application thread track
|
||||
socket events (like connects) on a ZeroMQ socket. Each call to this
|
||||
method creates a 'ZMQ_PAIR' socket and binds that to the specified
|
||||
inproc:// 'endpoint'. To collect the socket events, you must create
|
||||
your own 'ZMQ_PAIR' socket, and connect that to the endpoint.
|
||||
|
||||
Note that there is also a DRAFT function linkzmq:zmq_socket_monitor_versioned[3],
|
||||
Note that there is also a DRAFT function xref:zmq_socket_monitor_versioned.adoc[zmq_socket_monitor_versioned],
|
||||
which allows to subscribe to events that provide more information.
|
||||
Calling zmq_socket_monitor is equivalent to calling 'zmq_socket_monitor_versioned'
|
||||
with the 'event_version' parameter set to 1, with the exception of error cases.
|
||||
@ -150,15 +146,13 @@ The event value is the status code returned by the ZAP handler (i.e. 300,
|
||||
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_socket_monitor()_ function returns a value of 0 or greater if
|
||||
successful. Otherwise it returns `-1` and sets 'errno' to one of the values
|
||||
defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*ETERM*::
|
||||
The 0MQ 'context' associated with the specified 'socket' was terminated.
|
||||
|
||||
@ -169,8 +163,7 @@ required to use the inproc:// transport.
|
||||
*EINVAL*::
|
||||
The endpoint supplied is invalid.
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Monitoring client and server sockets
|
||||
----
|
||||
// Read one event off the monitor socket; return value and address
|
||||
@ -285,12 +278,10 @@ int main (void)
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,22 +1,18 @@
|
||||
zmq_socket_monitor_versioned(3)
|
||||
===============================
|
||||
= zmq_socket_monitor_versioned(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
|
||||
zmq_socket_monitor_versioned - monitor socket events
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*int zmq_socket_monitor_versioned (void '*socket', char '*endpoint', uint64_t 'events', int 'event_version', int 'type');*
|
||||
|
||||
*int zmq_socket_monitor_pipes_stats (void '*socket');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_socket_monitor_versioned()_ method lets an application thread track
|
||||
socket events (like connects) on a ZeroMQ socket. Each call to this
|
||||
method creates a 'ZMQ_PAIR' socket and binds that to the specified
|
||||
@ -37,7 +33,7 @@ ZMQ_CURRENT_EVENT_VERSION and ZMQ_CURRENT_EVENT_VERSION_DRAFT are always defined
|
||||
to the most recent stable or DRAFT event version, which are currently 1 resp. 2
|
||||
|
||||
This page describes the protocol for 'event_version' 2 only. For the protocol
|
||||
used with 'event_version' 1, please refer to linkzmq:zmq_socket_monitor[3].
|
||||
used with 'event_version' 1, please refer to xref:zmq_socket_monitor.adoc[zmq_socket_monitor]
|
||||
|
||||
Each event is sent in multiple frames. The first frame contains an event
|
||||
number (64 bits). The number and content of further frames depend on this
|
||||
@ -203,8 +199,7 @@ NOTE: in DRAFT state, not yet available in stable releases.
|
||||
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_socket_monitor()_ and _zmq_socket_monitor_pipes_stats()_ functions
|
||||
return a value of 0 or greater if successful. Otherwise they return `-1` and
|
||||
set 'errno' to one of the values defined below.
|
||||
@ -235,8 +230,7 @@ The socket did not have monitoring enabled.
|
||||
*EAGAIN*::
|
||||
The monitored socket did not have any connections to monitor yet.
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Monitoring client and server sockets
|
||||
----
|
||||
// Read one event off the monitor socket; return values and addresses
|
||||
@ -390,12 +384,10 @@ int main (void)
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_strerror(3)
|
||||
===============
|
||||
= zmq_strerror(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_strerror - get 0MQ error message string
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*const char *zmq_strerror (int 'errnum');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_strerror()_ function shall return a pointer to an error message string
|
||||
corresponding to the error number specified by the 'errnum' argument. As 0MQ
|
||||
defines additional error numbers over and above those defined by the operating
|
||||
@ -21,19 +17,16 @@ system, applications should use _zmq_strerror()_ in preference to the standard
|
||||
_strerror()_ function.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_strerror()_ function shall return a pointer to an error message
|
||||
string.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
No errors are defined.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Displaying an error message when a 0MQ context cannot be initialised
|
||||
----
|
||||
void *ctx = zmq_init (1, 1, 0);
|
||||
@ -44,13 +37,11 @@ if (!ctx) {
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
||||
|
@ -1,21 +1,17 @@
|
||||
zmq_tcp(7)
|
||||
==========
|
||||
= zmq_tcp(7)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_tcp - 0MQ unicast transport using TCP
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
TCP is an ubiquitous, reliable, unicast transport. When connecting distributed
|
||||
applications over a network with 0MQ, using the TCP transport will likely be
|
||||
your first choice.
|
||||
|
||||
|
||||
ADDRESSING
|
||||
----------
|
||||
== ADDRESSING
|
||||
A 0MQ endpoint is a string consisting of a 'transport'`://` followed by an
|
||||
'address'. The 'transport' specifies the underlying protocol to use. The
|
||||
'address' specifies the transport-specific address to connect to.
|
||||
@ -43,7 +39,7 @@ The TCP port number may be specified by:
|
||||
* The wild-card `*`, meaning a system-assigned ephemeral port.
|
||||
|
||||
When using ephemeral ports, the caller should retrieve the actual assigned
|
||||
port using the ZMQ_LAST_ENDPOINT socket option. See linkzmq:zmq_getsockopt[3]
|
||||
port using the ZMQ_LAST_ENDPOINT socket option. See xref:zmq_getsockopt.adoc[zmq_getsockopt]
|
||||
for details.
|
||||
|
||||
Unbinding wild-card address from a socket
|
||||
@ -70,8 +66,7 @@ Note: A description of the ZeroMQ Message Transport Protocol (ZMTP) which is
|
||||
used by the TCP transport can be found at <http://rfc.zeromq.org/spec:23>
|
||||
|
||||
|
||||
HWM
|
||||
---
|
||||
== HWM
|
||||
|
||||
For the TCP transport, the high water mark (HWM) mechanism works in conjunction
|
||||
with the TCP socket buffers handled at OS level.
|
||||
@ -93,8 +88,7 @@ Obviously the same considerations apply for the receive HWM (see ZMQ_RCVHWM).
|
||||
|
||||
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
== EXAMPLES
|
||||
.Assigning a local address to a socket
|
||||
----
|
||||
// TCP port 5555 on all available interfaces
|
||||
@ -125,18 +119,16 @@ assert (rc == 0);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_bind[3]
|
||||
linkzmq:zmq_connect[3]
|
||||
linkzmq:zmq_pgm[7]
|
||||
linkzmq:zmq_ipc[7]
|
||||
linkzmq:zmq_inproc[7]
|
||||
linkzmq:zmq_vmci[7]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_bind.adoc[zmq_bind]
|
||||
xref:zmq_connect.adoc[zmq_connect]
|
||||
xref:zmq_pgm.adoc[zmq_pgm]
|
||||
xref:zmq_ipc.adoc[zmq_ipc]
|
||||
xref:zmq_inproc.adoc[zmq_inproc]
|
||||
xref:zmq_vmci.adoc[zmq_vmci]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,66 +0,0 @@
|
||||
zmq_term(3)
|
||||
===========
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
zmq_term - terminate 0MQ context
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
*int zmq_term (void '*context');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
The _zmq_term()_ function shall terminate the 0MQ context 'context'.
|
||||
|
||||
Context termination is performed in the following steps:
|
||||
|
||||
1. Any blocking operations currently in progress on sockets open within
|
||||
'context' shall return immediately with an error code of ETERM. With the
|
||||
exception of _zmq_close()_, any further operations on sockets open within
|
||||
'context' shall fail with an error code of ETERM.
|
||||
|
||||
2. After interrupting all blocking calls, _zmq_term()_ shall _block_ until the
|
||||
following conditions are satisfied:
|
||||
|
||||
* All sockets open within 'context' have been closed with _zmq_close()_.
|
||||
|
||||
* For each socket within 'context', all messages sent by the application
|
||||
with _zmq_send()_ have either been physically transferred to a network
|
||||
peer, or the socket's linger period set with the _ZMQ_LINGER_ socket
|
||||
option has expired.
|
||||
|
||||
For further details regarding socket linger behaviour refer to the _ZMQ_LINGER_
|
||||
option in linkzmq:zmq_setsockopt[3].
|
||||
|
||||
This function is deprecated by linkzmq:zmq_ctx_term[3].
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
The _zmq_term()_ function shall return zero if successful. Otherwise it shall
|
||||
return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
*EFAULT*::
|
||||
The provided 'context' was invalid.
|
||||
*EINTR*::
|
||||
Termination was interrupted by a signal. It can be restarted if needed.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq[7]
|
||||
linkzmq:zmq_init[3]
|
||||
linkzmq:zmq_close[3]
|
||||
linkzmq:zmq_setsockopt[3]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,14 +1,11 @@
|
||||
zmq_timers(3)
|
||||
============
|
||||
= zmq_timers(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_timers - helper functions for cross-platform timers callbacks
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
|
||||
*typedef void(zmq_timer_fn) (int 'timer_id', void *'arg');*
|
||||
|
||||
@ -29,8 +26,7 @@ SYNOPSIS
|
||||
*int zmq_timers_execute (void *'timers');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_timers_*_ functions provide cross-platform access to timers callbacks.
|
||||
Once a timer has been registered, it will repeat at the specified interval until
|
||||
it gets manually cancelled. To run the callbacks, _zmq_timers_execute_ must be
|
||||
@ -69,14 +65,12 @@ _zmq_timers_execute_ will run callbacks of all expired timers from the instance
|
||||
_timers_.
|
||||
|
||||
|
||||
THREAD SAFETY
|
||||
-------------
|
||||
== THREAD SAFETY
|
||||
Like most other 0MQ objects, timers are not thread-safe. All operations must
|
||||
be called from the same thread. Otherwise, behaviour is undefined.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
_zmq_timers_new_ always returns a valid pointer to a poller.
|
||||
|
||||
All functions that return an int, return -1 in case of a failure. In that case,
|
||||
@ -88,8 +82,7 @@ timer registered with _timers_ expires, or -1 if there are no timers left.
|
||||
All other functions return 0 in case of a successful execution.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
On _zmq_timers_destroy_, _zmq_poller_cancel_, _zmq_timers_set_interval_,
|
||||
_zmq_timers_reset_, zmq_timers_timeout_, and _zmq_timers_execute_:
|
||||
*EFAULT*::
|
||||
@ -107,8 +100,7 @@ On _zmq_poller_cancel_, _zmq_timers_set_interval_ and zmq_timers_timeout_:
|
||||
_timer_id_ did not exist or was already cancelled.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Add one timer with a simple callback that changes a boolean.
|
||||
----
|
||||
void handler (int timer_id_, void *arg_)
|
||||
@ -151,12 +143,10 @@ EXAMPLE
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_tipc(7)
|
||||
==========
|
||||
= zmq_tipc(7)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_tipc - 0MQ unicast transport using TIPC
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
TIPC is a cluster IPC protocol with a location transparent addressing scheme.
|
||||
|
||||
|
||||
ADDRESSING
|
||||
----------
|
||||
== ADDRESSING
|
||||
A 0MQ endpoint is a string consisting of a 'transport'`://` followed by an
|
||||
'address'. The 'transport' specifies the underlying protocol to use. The
|
||||
'address' specifies the transport-specific address to connect to.
|
||||
@ -45,8 +41,7 @@ comma and the instance ID.
|
||||
The instance ID must be within the lower/upper range of a published port name
|
||||
for the endpoint to be valid.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
== EXAMPLES
|
||||
.Assigning a local address to a socket
|
||||
----
|
||||
// Publish TIPC service ID 5555
|
||||
@ -65,19 +60,17 @@ assert (rc == 0);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_bind[3]
|
||||
linkzmq:zmq_connect[3]
|
||||
linkzmq:zmq_tcp[7]
|
||||
linkzmq:zmq_pgm[7]
|
||||
linkzmq:zmq_ipc[7]
|
||||
linkzmq:zmq_inproc[7]
|
||||
linkzmq:zmq_vmci[7]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_bind.adoc[zmq_bind]
|
||||
xref:zmq_connect.adoc[zmq_connect]
|
||||
xref:zmq_tcp.adoc[zmq_tcp]
|
||||
xref:zmq_pgm.adoc[zmq_pgm]
|
||||
xref:zmq_ipc.adoc[zmq_ipc]
|
||||
xref:zmq_inproc.adoc[zmq_inproc]
|
||||
xref:zmq_vmci.adoc[zmq_vmci]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,25 +1,20 @@
|
||||
zmq_udp(7)
|
||||
==========
|
||||
= zmq_udp(7)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_udp - 0MQ UDP multicast and unicast transport
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
UDP is unreliable protocol transport of data over IP networks.
|
||||
UDP support both unicast and multicast communication.
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
UDP transport can only be used with the 'ZMQ_RADIO' and
|
||||
'ZMQ_DISH' socket types.
|
||||
|
||||
ADDRESSING
|
||||
----------
|
||||
== ADDRESSING
|
||||
A 0MQ endpoint is a string consisting of a 'transport'`://` followed by an
|
||||
'address'. The 'transport' specifies the underlying protocol to use. The
|
||||
'address' specifies the transport-specific address to connect to.
|
||||
@ -57,8 +52,7 @@ A 'peer address' may be specified by either of the following:
|
||||
or using its hostname.
|
||||
* Multicast address in its numeric representation.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
== EXAMPLES
|
||||
.Binding a socket
|
||||
----
|
||||
// Unicast - UDP port 5555 on all available interfaces
|
||||
@ -99,18 +93,16 @@ assert (rc == 0);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_connect[3]
|
||||
linkzmq:zmq_setsockopt[3]
|
||||
linkzmq:zmq_tcp[7]
|
||||
linkzmq:zmq_ipc[7]
|
||||
linkzmq:zmq_inproc[7]
|
||||
linkzmq:zmq_vmci[7]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_connect.adoc[zmq_connect]
|
||||
xref:zmq_setsockopt.adoc[zmq_setsockopt]
|
||||
xref:zmq_tcp.adoc[zmq_tcp]
|
||||
xref:zmq_ipc.adoc[zmq_ipc]
|
||||
xref:zmq_inproc.adoc[zmq_inproc]
|
||||
xref:zmq_vmci.adoc[zmq_vmci]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_unbind(3)
|
||||
==============
|
||||
= zmq_unbind(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_unbind - Stop accepting connections on a socket
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
int zmq_unbind (void '*socket', const char '*endpoint');
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_unbind()_ function shall unbind a socket specified
|
||||
by the 'socket' argument from the endpoint specified by the 'endpoint'
|
||||
argument.
|
||||
@ -23,22 +19,20 @@ discarded. This means that after unbinding an endpoint it is possible to
|
||||
received messages originating from that same endpoint if they were already
|
||||
present in the incoming message queue before unbinding.
|
||||
|
||||
The 'endpoint' argument is as described in linkzmq:zmq_bind[3]
|
||||
The 'endpoint' argument is as described in xref:zmq_bind.adoc[zmq_bind]
|
||||
|
||||
Unbinding wild-card address from a socket
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
When wild-card `*` 'endpoint' (described in linkzmq:zmq_tcp[7],
|
||||
linkzmq:zmq_ipc[7], linkzmq:zmq_udp[7] and linkzmq:zmq_vmci[7]) was used in
|
||||
When wild-card `*` 'endpoint' (described in xref:zmq_tcp.adoc[zmq_tcp],
|
||||
xref:zmq_ipc.adoc[zmq_ipc], xref:zmq_udp.adoc[zmq_udp] and xref:zmq_vmci.adoc[zmq_vmci]) was used in
|
||||
_zmq_bind()_, the caller should use real 'endpoint' obtained from the
|
||||
ZMQ_LAST_ENDPOINT socket option to unbind this 'endpoint' from a socket.
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_unbind()_ function shall return zero if successful. Otherwise it
|
||||
shall return `-1` and set 'errno' to one of the values defined below.
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
*EINVAL*::
|
||||
The endpoint supplied is invalid.
|
||||
*ETERM*::
|
||||
@ -49,8 +43,7 @@ The provided 'socket' was invalid.
|
||||
The endpoint supplied was not previously bound.
|
||||
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
== EXAMPLES
|
||||
.Unbind a subscriber socket from a TCP transport
|
||||
----
|
||||
/* Create a ZMQ_SUB socket */
|
||||
@ -82,22 +75,19 @@ rc = zmq_unbind (socket, buf);
|
||||
assert (rc == 0);
|
||||
----
|
||||
|
||||
NOTE
|
||||
----
|
||||
== NOTE
|
||||
|
||||
Note that while the implementation is similar to _zmq_disconnect()_, the
|
||||
semantics are different and the two functions should not be used
|
||||
interchangeably. Bound sockets should be unbound, and connected sockets should
|
||||
be disconnected.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_bind[3]
|
||||
linkzmq:zmq_socket[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_bind.adoc[zmq_bind]
|
||||
xref:zmq_socket.adoc[zmq_socket]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_version(3)
|
||||
==============
|
||||
= zmq_version(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_version - report 0MQ library version
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*void zmq_version (int '*major', int '*minor', int '*patch');*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_version()_ function shall fill in the integer variables pointed to by
|
||||
the 'major', 'minor' and 'patch' arguments with the major, minor and patch level
|
||||
components of the 0MQ library version.
|
||||
@ -23,18 +19,15 @@ dynamically linking to the 0MQ library that wish to determine the actual
|
||||
version of the 0MQ library they are using.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
There is no return value.
|
||||
|
||||
|
||||
ERRORS
|
||||
------
|
||||
== ERRORS
|
||||
No errors are defined.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Printing out the version of the 0MQ library
|
||||
----
|
||||
int major, minor, patch;
|
||||
@ -43,12 +36,10 @@ printf ("Current 0MQ version is %d.%d.%d\n", major, minor, patch);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,22 +1,18 @@
|
||||
zmq_vmci(7)
|
||||
===========
|
||||
= zmq_vmci(7)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_vmci - 0MQ transport over virtual machine communicatios interface (VMCI) sockets
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
The VMCI transport passes messages between VMware virtual machines running on the same host,
|
||||
between virtual machine and the host and within virtual machines (inter-process transport like ipc).
|
||||
|
||||
NOTE: Communication between a virtual machine and the host is not supported on Mac OS X 10.9 and above.
|
||||
|
||||
|
||||
ADDRESSING
|
||||
----------
|
||||
== ADDRESSING
|
||||
A 0MQ endpoint is a string consisting of a 'transport'`://` followed by an
|
||||
'address'. The 'transport' specifies the underlying protocol to use. The
|
||||
'address' specifies the transport-specific address to connect to.
|
||||
@ -56,8 +52,7 @@ a colon and the port number to use.
|
||||
A 'peer address' must be a CID of the peer.
|
||||
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
== EXAMPLES
|
||||
.Assigning a local address to a socket
|
||||
----
|
||||
// VMCI port 5555 on all available interfaces
|
||||
@ -79,19 +74,17 @@ assert (rc == 0);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_bind[3]
|
||||
linkzmq:zmq_connect[3]
|
||||
linkzmq:zmq_inproc[7]
|
||||
linkzmq:zmq_tcp[7]
|
||||
linkzmq:zmq_pgm[7]
|
||||
linkzmq:zmq_vmci[7]
|
||||
linkzmq:zmq_getsockopt[3]
|
||||
linkzmq:zmq[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_bind.adoc[zmq_bind]
|
||||
xref:zmq_connect.adoc[zmq_connect]
|
||||
xref:zmq_inproc.adoc[zmq_inproc]
|
||||
xref:zmq_tcp.adoc[zmq_tcp]
|
||||
xref:zmq_pgm.adoc[zmq_pgm]
|
||||
xref:zmq_vmci.adoc[zmq_vmci]
|
||||
xref:zmq_getsockopt.adoc[zmq_getsockopt]
|
||||
xref:zmq.adoc[zmq]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_z85_decode(3)
|
||||
=================
|
||||
= zmq_z85_decode(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_z85_decode - decode a binary key from Z85 printable text
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*uint8_t *zmq_z85_decode (uint8_t *dest, const char *string);*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_z85_decode()_ function shall decode 'string' into 'dest'.
|
||||
The length of 'string' shall be divisible by 5. 'dest' must be large
|
||||
enough for the decoded value (0.8 x strlen (string)).
|
||||
@ -21,14 +17,12 @@ enough for the decoded value (0.8 x strlen (string)).
|
||||
The encoding shall follow the ZMQ RFC 32 specification.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_z85_decode()_ function shall return 'dest' if successful, else it
|
||||
shall return NULL.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Decoding a CURVE key
|
||||
----
|
||||
const char decoded [] = "rq:rM>}U?@Lns47E1%kR.o@n%FcmmsL/@{H8]yf7";
|
||||
@ -37,15 +31,13 @@ zmq_z85_decode (public_key, decoded);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_z85_decode[3]
|
||||
linkzmq:zmq_curve_keypair[3]
|
||||
linkzmq:zmq_curve_public[3]
|
||||
linkzmq:zmq_curve[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_z85_encode.adoc[zmq_z85_encode]
|
||||
xref:zmq_curve_keypair.adoc[zmq_curve_keypair]
|
||||
xref:zmq_curve_public.adoc[zmq_curve_public]
|
||||
xref:zmq_curve.adoc[zmq_curve]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -1,19 +1,15 @@
|
||||
zmq_z85_encode(3)
|
||||
=================
|
||||
= zmq_z85_encode(3)
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
== NAME
|
||||
zmq_z85_encode - encode a binary key as Z85 printable text
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
== SYNOPSIS
|
||||
*char *zmq_z85_encode (char *dest, const uint8_t *data, size_t size);*
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
== DESCRIPTION
|
||||
The _zmq_z85_encode()_ function shall encode the binary block specified
|
||||
by 'data' and 'size' into a string in 'dest'. The size of the binary block
|
||||
must be divisible by 4. The 'dest' must have sufficient space for size * 1.25
|
||||
@ -23,14 +19,12 @@ characters plus a null terminator.
|
||||
The encoding shall follow the ZMQ RFC 32 specification.
|
||||
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
== RETURN VALUE
|
||||
The _zmq_z85_encode()_ function shall return 'dest' if successful, else it
|
||||
shall return NULL.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
== EXAMPLE
|
||||
.Encoding a CURVE key
|
||||
----
|
||||
#include <sodium.h>
|
||||
@ -44,15 +38,13 @@ puts (encoded);
|
||||
----
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkzmq:zmq_z85_decode[3]
|
||||
linkzmq:zmq_curve_keypair[3]
|
||||
linkzmq:zmq_curve_public[3]
|
||||
linkzmq:zmq_curve[7]
|
||||
== SEE ALSO
|
||||
xref:zmq_z85_decode.adoc[zmq_z85_decode]
|
||||
xref:zmq_curve_keypair.adoc[zmq_curve_keypair]
|
||||
xref:zmq_curve_public.adoc[zmq_curve_public]
|
||||
xref:zmq_curve.adoc[zmq_curve]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
== AUTHORS
|
||||
This page was written by the 0MQ community. To make a change please
|
||||
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
|
@ -13,7 +13,7 @@ Build-Depends: debhelper (>= 9),
|
||||
libgnutls28-dev | libgnutls-dev,
|
||||
libbsd-dev,
|
||||
pkg-config,
|
||||
asciidoc-base | asciidoc, xmlto,
|
||||
asciidoctor,
|
||||
Standards-Version: 3.9.8
|
||||
Homepage: http://www.zeromq.org/
|
||||
|
||||
|
@ -6,7 +6,7 @@ Version: 4.3.6-0.1
|
||||
Maintainer: libzmq Developers <zeromq-dev@lists.zeromq.org>
|
||||
Homepage: http://www.zeromq.org/
|
||||
Standards-Version: 3.9.8
|
||||
Build-Depends: debhelper (>= 9), dh-autoreconf, libkrb5-dev, libpgm-dev, libnorm-dev, libsodium-dev, libunwind-dev | libunwind8-dev | libunwind7-dev, libnss3-dev, libgnutls28-dev | libgnutls-dev, libbsd-dev, pkg-config, asciidoc-base | asciidoc, xmlto
|
||||
Build-Depends: debhelper (>= 9), dh-autoreconf, libkrb5-dev, libpgm-dev, libnorm-dev, libsodium-dev, libunwind-dev | libunwind8-dev | libunwind7-dev, libnss3-dev, libgnutls28-dev | libgnutls-dev, libbsd-dev, pkg-config, asciidoctor
|
||||
Package-List:
|
||||
libzmq3-dev deb libdevel optional arch=any
|
||||
libzmq5 deb libs optional arch=any
|
||||
|
@ -67,7 +67,18 @@ BuildRequires: gnutls-devel
|
||||
%else
|
||||
%define TLS no
|
||||
%endif
|
||||
BuildRequires: gcc, make, gcc-c++, libstdc++-devel, asciidoc, xmlto
|
||||
%if 0%{?rhel_version}
|
||||
%if 0%{?rhel_version} >= 800
|
||||
# note1: on OBS the RHEL7 target for some reason is unable to find the asciidoctor package, so on RHEL7 docs are not built
|
||||
# note2: on RHEL8/Centos8 the asciidoctor package depends from the ruby module; this might require some extra config on the
|
||||
# build farm where this .spec file is used
|
||||
BuildRequires: asciidoctor
|
||||
%endif
|
||||
%else
|
||||
# on non-RHEL targets, listing asciidoctor in BuildRequires works just fine:
|
||||
BuildRequires: rubygem(asciidoctor)
|
||||
%endif
|
||||
BuildRequires: gcc, make, gcc-c++, libstdc++-devel
|
||||
Requires: libstdc++
|
||||
|
||||
%ifarch pentium3 pentium4 athlon i386 i486 i586 i686 x86_64
|
||||
|
Loading…
Reference in New Issue
Block a user