diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index 0112a35..7c71cbd 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.11.1","generation_timestamp":"2024-10-16T21:15:05","documenter_version":"1.7.0"}} \ No newline at end of file +{"documenter":{"julia_version":"1.11.1","generation_timestamp":"2024-11-30T20:21:44","documenter_version":"1.8.0"}} \ No newline at end of file diff --git a/dev/_changelog/index.html b/dev/_changelog/index.html index 676f731..12fb720 100644 --- a/dev/_changelog/index.html +++ b/dev/_changelog/index.html @@ -1,2 +1,2 @@ -Changelog · ZMQ.jl

Changelog

This documents notable changes in ZMQ.jl. The format is based on Keep a Changelog.

[v1.3.0] - 2024-08-03

Added

  • Support for creating Message's from the new Memory type in Julia 1.11 ([#244]).
  • Full Bindings to libzmq ([#232]).

Deprecated

  • The Base.convert(IOStream, ::Message) method has been deprecated due to buggy behaviour, use IOBuffer(msg) instead ([#247]).

Fixed

  • Fixed isfreed(), which would previously return the wrong values ([#245]).

[v1.2.6] - 2024-06-13

Added

Fixed

  • Fixed a precompilation bug that would cause creating a sysimage with PackageCompiler.jl on Julia 1.6 to fail ([#242]).

[v1.2.5] - 2024-05-28

Fixed

  • Fixed support for Julia 1.3 in the precompilation workload ([#237]).

[v1.2.4] - 2024-05-27

Changed

  • Refactored the internals to use the public FileWatching.FDWatcher instead of FileWatching._FDWatcher ([#215]).

Fixed

  • Docstrings to inner constructors are now assigned properly ([#227]).
  • Socket now holds a reference to its Context to prevent it from being garbage collected accidentally ([#229]).
  • Changed the precompilation workload to use any available port to avoid port conflicts ([#234]).

[v1.2.3] - 2024-05-12

Added

  • Support for setting ZMQ_IMMEDIATE and ZMQ_CONFLATE on sockets ([#209], [#222]).
  • Overloads for Message to allow deserializing them with MsgPack.jl ([#214]).
  • A precompilation workload to improve TTFX ([#224]).
+Changelog · ZMQ.jl

Changelog

This documents notable changes in ZMQ.jl. The format is based on Keep a Changelog.

[v1.4.0] - 2024-11-30

Added

[v1.3.0] - 2024-08-03

Added

  • Support for creating Message's from the new Memory type in Julia 1.11 ([#244]).
  • Full Bindings to libzmq ([#232]).

Deprecated

  • The Base.convert(IOStream, ::Message) method has been deprecated due to buggy behaviour, use IOBuffer(msg) instead ([#247]).

Fixed

  • Fixed isfreed(), which would previously return the wrong values ([#245]).

[v1.2.6] - 2024-06-13

Added

Fixed

  • Fixed a precompilation bug that would cause creating a sysimage with PackageCompiler.jl on Julia 1.6 to fail ([#242]).

[v1.2.5] - 2024-05-28

Fixed

  • Fixed support for Julia 1.3 in the precompilation workload ([#237]).

[v1.2.4] - 2024-05-27

Changed

  • Refactored the internals to use the public FileWatching.FDWatcher instead of FileWatching._FDWatcher ([#215]).

Fixed

  • Docstrings to inner constructors are now assigned properly ([#227]).
  • Socket now holds a reference to its Context to prevent it from being garbage collected accidentally ([#229]).
  • Changed the precompilation workload to use any available port to avoid port conflicts ([#234]).

[v1.2.3] - 2024-05-12

Added

  • Support for setting ZMQ_IMMEDIATE and ZMQ_CONFLATE on sockets ([#209], [#222]).
  • Overloads for Message to allow deserializing them with MsgPack.jl ([#214]).
  • A precompilation workload to improve TTFX ([#224]).
diff --git a/dev/assets/documenter.js b/dev/assets/documenter.js index 82252a1..7d68cd8 100644 --- a/dev/assets/documenter.js +++ b/dev/assets/documenter.js @@ -612,176 +612,194 @@ function worker_function(documenterSearchIndex, documenterBaseURL, filters) { }; } -// `worker = Threads.@spawn worker_function(documenterSearchIndex)`, but in JavaScript! -const filters = [ - ...new Set(documenterSearchIndex["docs"].map((x) => x.category)), -]; -const worker_str = - "(" + - worker_function.toString() + - ")(" + - JSON.stringify(documenterSearchIndex["docs"]) + - "," + - JSON.stringify(documenterBaseURL) + - "," + - JSON.stringify(filters) + - ")"; -const worker_blob = new Blob([worker_str], { type: "text/javascript" }); -const worker = new Worker(URL.createObjectURL(worker_blob)); - /////// SEARCH MAIN /////// -// Whether the worker is currently handling a search. This is a boolean -// as the worker only ever handles 1 or 0 searches at a time. -var worker_is_running = false; - -// The last search text that was sent to the worker. This is used to determine -// if the worker should be launched again when it reports back results. -var last_search_text = ""; - -// The results of the last search. This, in combination with the state of the filters -// in the DOM, is used compute the results to display on calls to update_search. -var unfiltered_results = []; - -// Which filter is currently selected -var selected_filter = ""; - -$(document).on("input", ".documenter-search-input", function (event) { - if (!worker_is_running) { - launch_search(); - } -}); - -function launch_search() { - worker_is_running = true; - last_search_text = $(".documenter-search-input").val(); - worker.postMessage(last_search_text); -} - -worker.onmessage = function (e) { - if (last_search_text !== $(".documenter-search-input").val()) { - launch_search(); - } else { - worker_is_running = false; - } - - unfiltered_results = e.data; - update_search(); -}; +function runSearchMainCode() { + // `worker = Threads.@spawn worker_function(documenterSearchIndex)`, but in JavaScript! + const filters = [ + ...new Set(documenterSearchIndex["docs"].map((x) => x.category)), + ]; + const worker_str = + "(" + + worker_function.toString() + + ")(" + + JSON.stringify(documenterSearchIndex["docs"]) + + "," + + JSON.stringify(documenterBaseURL) + + "," + + JSON.stringify(filters) + + ")"; + const worker_blob = new Blob([worker_str], { type: "text/javascript" }); + const worker = new Worker(URL.createObjectURL(worker_blob)); + + // Whether the worker is currently handling a search. This is a boolean + // as the worker only ever handles 1 or 0 searches at a time. + var worker_is_running = false; + + // The last search text that was sent to the worker. This is used to determine + // if the worker should be launched again when it reports back results. + var last_search_text = ""; + + // The results of the last search. This, in combination with the state of the filters + // in the DOM, is used compute the results to display on calls to update_search. + var unfiltered_results = []; + + // Which filter is currently selected + var selected_filter = ""; + + $(document).on("input", ".documenter-search-input", function (event) { + if (!worker_is_running) { + launch_search(); + } + }); -$(document).on("click", ".search-filter", function () { - if ($(this).hasClass("search-filter-selected")) { - selected_filter = ""; - } else { - selected_filter = $(this).text().toLowerCase(); + function launch_search() { + worker_is_running = true; + last_search_text = $(".documenter-search-input").val(); + worker.postMessage(last_search_text); } - // This updates search results and toggles classes for UI: - update_search(); -}); + worker.onmessage = function (e) { + if (last_search_text !== $(".documenter-search-input").val()) { + launch_search(); + } else { + worker_is_running = false; + } -/** - * Make/Update the search component - */ -function update_search() { - let querystring = $(".documenter-search-input").val(); + unfiltered_results = e.data; + update_search(); + }; - if (querystring.trim()) { - if (selected_filter == "") { - results = unfiltered_results; + $(document).on("click", ".search-filter", function () { + if ($(this).hasClass("search-filter-selected")) { + selected_filter = ""; } else { - results = unfiltered_results.filter((result) => { - return selected_filter == result.category.toLowerCase(); - }); + selected_filter = $(this).text().toLowerCase(); } - let search_result_container = ``; - let modal_filters = make_modal_body_filters(); - let search_divider = `
`; + // This updates search results and toggles classes for UI: + update_search(); + }); - if (results.length) { - let links = []; - let count = 0; - let search_results = ""; - - for (var i = 0, n = results.length; i < n && count < 200; ++i) { - let result = results[i]; - if (result.location && !links.includes(result.location)) { - search_results += result.div; - count++; - links.push(result.location); - } - } + /** + * Make/Update the search component + */ + function update_search() { + let querystring = $(".documenter-search-input").val(); - if (count == 1) { - count_str = "1 result"; - } else if (count == 200) { - count_str = "200+ results"; + if (querystring.trim()) { + if (selected_filter == "") { + results = unfiltered_results; } else { - count_str = count + " results"; + results = unfiltered_results.filter((result) => { + return selected_filter == result.category.toLowerCase(); + }); } - let result_count = `
${count_str}
`; - search_result_container = ` + let search_result_container = ``; + let modal_filters = make_modal_body_filters(); + let search_divider = `
`; + + if (results.length) { + let links = []; + let count = 0; + let search_results = ""; + + for (var i = 0, n = results.length; i < n && count < 200; ++i) { + let result = results[i]; + if (result.location && !links.includes(result.location)) { + search_results += result.div; + count++; + links.push(result.location); + } + } + + if (count == 1) { + count_str = "1 result"; + } else if (count == 200) { + count_str = "200+ results"; + } else { + count_str = count + " results"; + } + let result_count = `
${count_str}
`; + + search_result_container = ` +
+ ${modal_filters} + ${search_divider} + ${result_count} +
+ ${search_results} +
+
+ `; + } else { + search_result_container = `
${modal_filters} ${search_divider} - ${result_count} -
- ${search_results} -
-
+
0 result(s)
+ +
No result found!
`; - } else { - search_result_container = ` -
- ${modal_filters} - ${search_divider} -
0 result(s)
-
-
No result found!
- `; - } + } - if ($(".search-modal-card-body").hasClass("is-justify-content-center")) { - $(".search-modal-card-body").removeClass("is-justify-content-center"); - } + if ($(".search-modal-card-body").hasClass("is-justify-content-center")) { + $(".search-modal-card-body").removeClass("is-justify-content-center"); + } - $(".search-modal-card-body").html(search_result_container); - } else { - if (!$(".search-modal-card-body").hasClass("is-justify-content-center")) { - $(".search-modal-card-body").addClass("is-justify-content-center"); + $(".search-modal-card-body").html(search_result_container); + } else { + if (!$(".search-modal-card-body").hasClass("is-justify-content-center")) { + $(".search-modal-card-body").addClass("is-justify-content-center"); + } + + $(".search-modal-card-body").html(` +
Type something to get started!
+ `); } + } - $(".search-modal-card-body").html(` -
Type something to get started!
- `); + /** + * Make the modal filter html + * + * @returns string + */ + function make_modal_body_filters() { + let str = filters + .map((val) => { + if (selected_filter == val.toLowerCase()) { + return `${val}`; + } else { + return `${val}`; + } + }) + .join(""); + + return ` +
+ Filters: + ${str} +
`; } } -/** - * Make the modal filter html - * - * @returns string - */ -function make_modal_body_filters() { - let str = filters - .map((val) => { - if (selected_filter == val.toLowerCase()) { - return `${val}`; - } else { - return `${val}`; - } - }) - .join(""); - - return ` -
- Filters: - ${str} -
`; +function waitUntilSearchIndexAvailable() { + // It is possible that the documenter.js script runs before the page + // has finished loading and documenterSearchIndex gets defined. + // So we need to wait until the search index actually loads before setting + // up all the search-related stuff. + if (typeof documenterSearchIndex !== "undefined") { + runSearchMainCode(); + } else { + console.warn("Search Index not available, waiting"); + setTimeout(waitUntilSearchIndexAvailable, 1000); + } } +// The actual entry point to the search code +waitUntilSearchIndexAvailable(); + }) //////////////////////////////////////////////////////////////////////////////// require(['jquery'], function($) { diff --git a/dev/bindings/index.html b/dev/bindings/index.html index 4740c94..ae8c64a 100644 --- a/dev/bindings/index.html +++ b/dev/bindings/index.html @@ -1,2 +1,2 @@ -Bindings · ZMQ.jl

Bindings

This page documents the low-level bindings to libzmq that were automatically generated. Where possible, the docstrings link to the upstream documentation. Bindings have not been generated for deprecated functions.

Danger

These bindings are unsafe, do not use them unless you know what you're doing.


ZMQ.lib.zmq_sleepMethod
zmq_sleep(seconds_)

This is an undocumented function, not part of the formal ZMQ API.

source
+Bindings · ZMQ.jl

Bindings

This page documents the low-level bindings to libzmq that were automatically generated. Where possible, the docstrings link to the upstream documentation. Bindings have not been generated for deprecated functions.

Danger

These bindings are unsafe, do not use them unless you know what you're doing.


ZMQ.lib.zmq_sleepMethod
zmq_sleep(seconds_)

This is an undocumented function, not part of the formal ZMQ API.

source
diff --git a/dev/changelog/index.html b/dev/changelog/index.html index 47aea05..b287321 100644 --- a/dev/changelog/index.html +++ b/dev/changelog/index.html @@ -1,2 +1,2 @@ -Changelog · ZMQ.jl

Changelog

This documents notable changes in ZMQ.jl. The format is based on Keep a Changelog.

v1.3.0 - 2024-08-03

Added

Deprecated

  • The Base.convert(IOStream, ::Message) method has been deprecated due to buggy behaviour, use IOBuffer(msg) instead (#247).

Fixed

  • Fixed isfreed(), which would previously return the wrong values (#245).

v1.2.6 - 2024-06-13

Added

Fixed

  • Fixed a precompilation bug that would cause creating a sysimage with PackageCompiler.jl on Julia 1.6 to fail (#242).

v1.2.5 - 2024-05-28

Fixed

  • Fixed support for Julia 1.3 in the precompilation workload (#237).

v1.2.4 - 2024-05-27

Changed

  • Refactored the internals to use the public FileWatching.FDWatcher instead of FileWatching._FDWatcher (#215).

Fixed

  • Docstrings to inner constructors are now assigned properly (#227).
  • Socket now holds a reference to its Context to prevent it from being garbage collected accidentally (#229).
  • Changed the precompilation workload to use any available port to avoid port conflicts (#234).

v1.2.3 - 2024-05-12

Added

  • Support for setting ZMQ_IMMEDIATE and ZMQ_CONFLATE on sockets (#209, #222).
  • Overloads for Message to allow deserializing them with MsgPack.jl (#214).
  • A precompilation workload to improve TTFX (#224).
+Changelog · ZMQ.jl

Changelog

This documents notable changes in ZMQ.jl. The format is based on Keep a Changelog.

v1.4.0 - 2024-11-30

Added

v1.3.0 - 2024-08-03

Added

Deprecated

  • The Base.convert(IOStream, ::Message) method has been deprecated due to buggy behaviour, use IOBuffer(msg) instead (#247).

Fixed

  • Fixed isfreed(), which would previously return the wrong values (#245).

v1.2.6 - 2024-06-13

Added

Fixed

  • Fixed a precompilation bug that would cause creating a sysimage with PackageCompiler.jl on Julia 1.6 to fail (#242).

v1.2.5 - 2024-05-28

Fixed

  • Fixed support for Julia 1.3 in the precompilation workload (#237).

v1.2.4 - 2024-05-27

Changed

  • Refactored the internals to use the public FileWatching.FDWatcher instead of FileWatching._FDWatcher (#215).

Fixed

  • Docstrings to inner constructors are now assigned properly (#227).
  • Socket now holds a reference to its Context to prevent it from being garbage collected accidentally (#229).
  • Changed the precompilation workload to use any available port to avoid port conflicts (#234).

v1.2.3 - 2024-05-12

Added

  • Support for setting ZMQ_IMMEDIATE and ZMQ_CONFLATE on sockets (#209, #222).
  • Overloads for Message to allow deserializing them with MsgPack.jl (#214).
  • A precompilation workload to improve TTFX (#224).
diff --git a/dev/index.html b/dev/index.html index 2729088..2eb6656 100644 --- a/dev/index.html +++ b/dev/index.html @@ -1,2 +1,2 @@ -Home · ZMQ.jl
+Home · ZMQ.jl
diff --git a/dev/man/examples/index.html b/dev/man/examples/index.html index ff63125..871cad2 100644 --- a/dev/man/examples/index.html +++ b/dev/man/examples/index.html @@ -1,2 +1,2 @@ -Examples · ZMQ.jl
+Examples · ZMQ.jl
diff --git a/dev/man/guide/index.html b/dev/man/guide/index.html index e309e2e..1b332aa 100644 --- a/dev/man/guide/index.html +++ b/dev/man/guide/index.html @@ -11,4 +11,4 @@ msg = recv(s1, String) send(s1, "test response") close(s1) -close(s2)

The send(socket, x) and recv(socket, SomeType) functions make an extra copy of the data when converting between ZMQ and Julia. Alternatively, for large data sets (e.g. very large arrays or long strings), it can be preferable to share data, with send(socket, Message(x)) and msg = recv(Message), where the msg::Message object acts like an array of bytes; this involves some overhead so it may not be optimal for short messages.

(Help in writing more detailed documentation would be welcome!)

+close(s2)

The send(socket, x) and recv(socket, SomeType) functions make an extra copy of the data when converting between ZMQ and Julia. Alternatively, for large data sets (e.g. very large arrays or long strings), it can be preferable to share data, with send(socket, Message(x)) and msg = recv(Message), where the msg::Message object acts like an array of bytes; this involves some overhead so it may not be optimal for short messages.

(Help in writing more detailed documentation would be welcome!)

diff --git a/dev/objects.inv b/dev/objects.inv index 3119900..a1bc069 100644 Binary files a/dev/objects.inv and b/dev/objects.inv differ diff --git a/dev/reference/index.html b/dev/reference/index.html index 3709236..4b0b250 100644 --- a/dev/reference/index.html +++ b/dev/reference/index.html @@ -1,5 +1,5 @@ -Reference · ZMQ.jl

Reference

Sockets

The ZMQ Socket type:

ZMQ.SocketMethod
Socket(ctx::Context, typ::Integer)

Create a socket in a given context.

source
ZMQ.SocketMethod
Socket(typ::Integer)

Create a socket of a certain type.

source

Socket implements the Sockets interface:

Base.bindFunction
Sockets.bind(socket::Socket, endpoint::AbstractString)

Bind the socket to an endpoint. Note that the endpoint must be formatted as described here. e.g. tcp://127.0.0.1:42000.

source
Sockets.connectFunction
Sockets.connect(socket::Socket, endpoint::AbstractString)

Connect the socket to an endpoint.

source
Sockets.recvFunction
recv(socket::Socket)

Return a Message object representing a message received from a ZMQ Socket (without making a copy of the message data).

source
recv(socket::Socket, ::Type{T})

Receive a message of type T (typically a String, Vector{UInt8}, or isbits type) from a ZMQ Socket. (Makes a copy of the message data; you can alternatively use recv(socket) to work with zero-copy bytearray-like representation for large messages.)

source
Sockets.sendFunction
send(socket::Socket, data; more=false)

Send data over socket. A more=true keyword argument can be passed to indicate that data is a portion of a larger multipart message. data can be any isbits type, a Vector of isbits elements, a String, or a Message object to perform zero-copy sends of large arrays.

source
send(socket::Socket, zmsg::Message; more::Bool=false)

Zero-copy version of Sockets.send(socket, data) using a user-allocated Message.

source

ZMQ socket types (note: some of these are aliases; e.g. XREQ = DEALER):

Messages

ZMQ.MessageType
mutable struct Message <: AbstractArray{UInt8, 1}

High-level Message object for sending/receiving ZMQ messages in shared buffers. As an AbstractArray, it supports common (non-resizeable) array behaviour.

Examples

julia> using ZMQ
+Reference · ZMQ.jl

Reference

Sockets

The ZMQ Socket type:

ZMQ.SocketMethod
Socket(ctx::Context, typ::Integer)

Create a socket in a given context.

source
ZMQ.SocketMethod
Socket(typ::Integer)

Create a socket of a certain type.

source

Socket implements the Sockets interface:

Base.bindFunction
Sockets.bind(socket::Socket, endpoint::AbstractString)

Bind the socket to an endpoint. Note that the endpoint must be formatted as described here. e.g. tcp://127.0.0.1:42000.

source
Sockets.connectFunction
Sockets.connect(socket::Socket, endpoint::AbstractString)

Connect the socket to an endpoint.

source
Sockets.recvFunction
recv(socket::Socket)

Return a Message object representing a message received from a ZMQ Socket (without making a copy of the message data).

source
recv(socket::Socket, ::Type{T})

Receive a message of type T (typically a String, Vector{UInt8}, or isbits type) from a ZMQ Socket. (Makes a copy of the message data; you can alternatively use recv(socket) to work with zero-copy bytearray-like representation for large messages.)

source
Sockets.sendFunction
send(socket::Socket, data; more=false)

Send data over socket. A more=true keyword argument can be passed to indicate that data is a portion of a larger multipart message. data can be any isbits type, a Vector of isbits elements, a String, or a Message object to perform zero-copy sends of large arrays.

source
send(socket::Socket, zmsg::Message; more::Bool=false)

Zero-copy version of Sockets.send(socket, data) using a user-allocated Message.

source
ZMQ.send_multipartFunction
send_multipart(socket::Socket, parts)

Send a multipart message composed of the elements in parts. parts may be any object that supports getindex(), eachindex(), and lastindex().

source

ZMQ socket types (note: some of these are aliases; e.g. XREQ = DEALER):

Messages

ZMQ.MessageType
mutable struct Message <: AbstractArray{UInt8, 1}

High-level Message object for sending/receiving ZMQ messages in shared buffers. As an AbstractArray, it supports common (non-resizeable) array behaviour.

Examples

julia> using ZMQ
 
 julia> m = Message("foo");
 
@@ -12,4 +12,4 @@
 "fog"
 
 julia> IOBuffer(m)           # Create a zero-copy IOBuffer
-IOBuffer(data=UInt8[...], readable=true, writable=false, seekable=true, append=false, size=3, maxsize=Inf, ptr=1, mark=-1)
source
ZMQ.MessageMethod
Message(len::Integer)

Create a message with a given buffer size (for send).

source
ZMQ.MessageMethod
Message(origin::Any, m::Ptr{T}, len::Integer) where {T}

Low-level function to create a message (for send) with an existing data buffer, without making a copy. The origin parameter should be the Julia object that is the origin of the data, so that we can hold a reference to it until ZMQ is done with the buffer.

source
ZMQ.MessageMethod
Message(m::String)

Create a message with a string as a buffer (for send). Note: the Message now "owns" the string, it must not be resized, or even written to after the message is sent.

source
ZMQ.MessageMethod
Message(p::SubString{String})

Create a message with a sub-string as a buffer (for send). Note: the same ownership semantics as for Message(m::String) apply.

source
ZMQ.MessageMethod
Message(a::T) where T <: DenseVector

Create a message with an array as a buffer (for send). Note: the same ownership semantics as for Message(m::String) apply.

Usually a will be a 1D Array/Vector, but on Julia 1.11+ it can also be a Memory.

source
ZMQ.isfreedMethod
isfreed(m::Message)

Check whether zeromq has called our free-function, i.e. whether we are safe to reclaim ownership of any buffer object the Message was created with.

source

Context

ZMQ.contextFunction
context()

Return the default ZMQ context (of type Context), initializing it if this has not been done already. (This context is automatically closed when Julia exits.)

source
+IOBuffer(data=UInt8[...], readable=true, writable=false, seekable=true, append=false, size=3, maxsize=Inf, ptr=1, mark=-1)
source
ZMQ.MessageMethod
Message(len::Integer)

Create a message with a given buffer size (for send).

source
ZMQ.MessageMethod
Message(origin::Any, m::Ptr{T}, len::Integer) where {T}

Low-level function to create a message (for send) with an existing data buffer, without making a copy. The origin parameter should be the Julia object that is the origin of the data, so that we can hold a reference to it until ZMQ is done with the buffer.

source
ZMQ.MessageMethod
Message(m::String)

Create a message with a string as a buffer (for send). Note: the Message now "owns" the string, it must not be resized, or even written to after the message is sent.

source
ZMQ.MessageMethod
Message(p::SubString{String})

Create a message with a sub-string as a buffer (for send). Note: the same ownership semantics as for Message(m::String) apply.

source
ZMQ.MessageMethod
Message(a::T) where T <: DenseVector

Create a message with an array as a buffer (for send). Note: the same ownership semantics as for Message(m::String) apply.

Usually a will be a 1D Array/Vector, but on Julia 1.11+ it can also be a Memory.

source
ZMQ.isfreedMethod
isfreed(m::Message)

Check whether zeromq has called our free-function, i.e. whether we are safe to reclaim ownership of any buffer object the Message was created with.

source

Context

ZMQ.contextFunction
context()

Return the default ZMQ context (of type Context), initializing it if this has not been done already. (This context is automatically closed when Julia exits.)

source
diff --git a/dev/search_index.js b/dev/search_index.js index c889e9c..e465de7 100644 --- a/dev/search_index.js +++ b/dev/search_index.js @@ -1,3 +1,3 @@ var documenterSearchIndex = {"docs": -[{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"CurrentModule = ZMQ","category":"page"},{"location":"_changelog/#Changelog","page":"Changelog","title":"Changelog","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"This documents notable changes in ZMQ.jl. The format is based on Keep a Changelog.","category":"page"},{"location":"_changelog/#[v1.3.0]-2024-08-03","page":"Changelog","title":"[v1.3.0] - 2024-08-03","text":"","category":"section"},{"location":"_changelog/#Added","page":"Changelog","title":"Added","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"Support for creating Message's from the new Memory type in Julia 1.11 ([#244]).\nFull Bindings to libzmq ([#232]).","category":"page"},{"location":"_changelog/#Deprecated","page":"Changelog","title":"Deprecated","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"The Base.convert(IOStream, ::Message) method has been deprecated due to buggy behaviour, use IOBuffer(msg) instead ([#247]).","category":"page"},{"location":"_changelog/#Fixed","page":"Changelog","title":"Fixed","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"Fixed isfreed(), which would previously return the wrong values ([#245]).","category":"page"},{"location":"_changelog/#[v1.2.6]-2024-06-13","page":"Changelog","title":"[v1.2.6] - 2024-06-13","text":"","category":"section"},{"location":"_changelog/#Added-2","page":"Changelog","title":"Added","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"lib_version() to get the libzmq version ([#240]).","category":"page"},{"location":"_changelog/#Fixed-2","page":"Changelog","title":"Fixed","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"Fixed a precompilation bug that would cause creating a sysimage with PackageCompiler.jl on Julia 1.6 to fail ([#242]).","category":"page"},{"location":"_changelog/#[v1.2.5]-2024-05-28","page":"Changelog","title":"[v1.2.5] - 2024-05-28","text":"","category":"section"},{"location":"_changelog/#Fixed-3","page":"Changelog","title":"Fixed","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"Fixed support for Julia 1.3 in the precompilation workload ([#237]).","category":"page"},{"location":"_changelog/#[v1.2.4]-2024-05-27","page":"Changelog","title":"[v1.2.4] - 2024-05-27","text":"","category":"section"},{"location":"_changelog/#Changed","page":"Changelog","title":"Changed","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"Refactored the internals to use the public FileWatching.FDWatcher instead of FileWatching._FDWatcher ([#215]).","category":"page"},{"location":"_changelog/#Fixed-4","page":"Changelog","title":"Fixed","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"Docstrings to inner constructors are now assigned properly ([#227]).\nSocket now holds a reference to its Context to prevent it from being garbage collected accidentally ([#229]).\nChanged the precompilation workload to use any available port to avoid port conflicts ([#234]).","category":"page"},{"location":"_changelog/#[v1.2.3]-2024-05-12","page":"Changelog","title":"[v1.2.3] - 2024-05-12","text":"","category":"section"},{"location":"_changelog/#Added-3","page":"Changelog","title":"Added","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"Support for setting ZMQ_IMMEDIATE and ZMQ_CONFLATE on sockets ([#209], [#222]).\nOverloads for Message to allow deserializing them with MsgPack.jl ([#214]).\nA precompilation workload to improve TTFX ([#224]).","category":"page"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"EditURL = \"https://github.com/JuliaInterop/ZMQ.jl/blob/master/CHANGELOG.md\"","category":"page"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"CurrentModule = ZMQ","category":"page"},{"location":"changelog/#Changelog","page":"Changelog","title":"Changelog","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"This documents notable changes in ZMQ.jl. The format is based on Keep a Changelog.","category":"page"},{"location":"changelog/#[v1.3.0](https://github.com/JuliaInterop/ZMQ.jl/releases/tag/v1.3.0)-2024-08-03","page":"Changelog","title":"v1.3.0 - 2024-08-03","text":"","category":"section"},{"location":"changelog/#Added","page":"Changelog","title":"Added","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"Support for creating Message's from the new Memory type in Julia 1.11 (#244).\nFull Bindings to libzmq (#232).","category":"page"},{"location":"changelog/#Deprecated","page":"Changelog","title":"Deprecated","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"The Base.convert(IOStream, ::Message) method has been deprecated due to buggy behaviour, use IOBuffer(msg) instead (#247).","category":"page"},{"location":"changelog/#Fixed","page":"Changelog","title":"Fixed","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"Fixed isfreed(), which would previously return the wrong values (#245).","category":"page"},{"location":"changelog/#[v1.2.6](https://github.com/JuliaInterop/ZMQ.jl/releases/tag/v1.2.6)-2024-06-13","page":"Changelog","title":"v1.2.6 - 2024-06-13","text":"","category":"section"},{"location":"changelog/#Added-2","page":"Changelog","title":"Added","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"lib_version() to get the libzmq version (#240).","category":"page"},{"location":"changelog/#Fixed-2","page":"Changelog","title":"Fixed","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"Fixed a precompilation bug that would cause creating a sysimage with PackageCompiler.jl on Julia 1.6 to fail (#242).","category":"page"},{"location":"changelog/#[v1.2.5](https://github.com/JuliaInterop/ZMQ.jl/releases/tag/v1.2.5)-2024-05-28","page":"Changelog","title":"v1.2.5 - 2024-05-28","text":"","category":"section"},{"location":"changelog/#Fixed-3","page":"Changelog","title":"Fixed","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"Fixed support for Julia 1.3 in the precompilation workload (#237).","category":"page"},{"location":"changelog/#[v1.2.4](https://github.com/JuliaInterop/ZMQ.jl/releases/tag/v1.2.4)-2024-05-27","page":"Changelog","title":"v1.2.4 - 2024-05-27","text":"","category":"section"},{"location":"changelog/#Changed","page":"Changelog","title":"Changed","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"Refactored the internals to use the public FileWatching.FDWatcher instead of FileWatching._FDWatcher (#215).","category":"page"},{"location":"changelog/#Fixed-4","page":"Changelog","title":"Fixed","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"Docstrings to inner constructors are now assigned properly (#227).\nSocket now holds a reference to its Context to prevent it from being garbage collected accidentally (#229).\nChanged the precompilation workload to use any available port to avoid port conflicts (#234).","category":"page"},{"location":"changelog/#[v1.2.3](https://github.com/JuliaInterop/ZMQ.jl/releases/tag/v1.2.3)-2024-05-12","page":"Changelog","title":"v1.2.3 - 2024-05-12","text":"","category":"section"},{"location":"changelog/#Added-3","page":"Changelog","title":"Added","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"Support for setting ZMQ_IMMEDIATE and ZMQ_CONFLATE on sockets (#209, #222).\nOverloads for Message to allow deserializing them with MsgPack.jl (#214).\nA precompilation workload to improve TTFX (#224).","category":"page"},{"location":"man/guide/#Guide","page":"Guide","title":"Guide","text":"","category":"section"},{"location":"man/guide/#Usage","page":"Guide","title":"Usage","text":"","category":"section"},{"location":"man/guide/","page":"Guide","title":"Guide","text":"using ZMQ\n\ns1=Socket(REP)\ns2=Socket(REQ)\n\nbind(s1, \"tcp://*:5555\")\nconnect(s2, \"tcp://localhost:5555\")\n\nsend(s2, \"test request\")\nmsg = recv(s1, String)\nsend(s1, \"test response\")\nclose(s1)\nclose(s2)","category":"page"},{"location":"man/guide/","page":"Guide","title":"Guide","text":"The send(socket, x) and recv(socket, SomeType) functions make an extra copy of the data when converting between ZMQ and Julia. Alternatively, for large data sets (e.g. very large arrays or long strings), it can be preferable to share data, with send(socket, Message(x)) and msg = recv(Message), where the msg::Message object acts like an array of bytes; this involves some overhead so it may not be optimal for short messages.","category":"page"},{"location":"man/guide/","page":"Guide","title":"Guide","text":"(Help in writing more detailed documentation would be welcome!)","category":"page"},{"location":"reference/","page":"Reference","title":"Reference","text":"CurrentModule = ZMQ","category":"page"},{"location":"reference/#Reference","page":"Reference","title":"Reference","text":"","category":"section"},{"location":"reference/","page":"Reference","title":"Reference","text":"lib_version","category":"page"},{"location":"reference/#ZMQ.lib_version","page":"Reference","title":"ZMQ.lib_version","text":"lib_version()\n\nGet the libzmq version number.\n\n\n\n\n\n","category":"function"},{"location":"reference/#Sockets","page":"Reference","title":"Sockets","text":"","category":"section"},{"location":"reference/","page":"Reference","title":"Reference","text":"The ZMQ Socket type:","category":"page"},{"location":"reference/","page":"Reference","title":"Reference","text":"Socket\nSocket(::Context, ::Integer)\nSocket(::Integer)\nSocket(::Function)\nisopen\nclose","category":"page"},{"location":"reference/#ZMQ.Socket","page":"Reference","title":"ZMQ.Socket","text":"A ZMQ socket.\n\n\n\n\n\n","category":"type"},{"location":"reference/#ZMQ.Socket-Tuple{Context, Integer}","page":"Reference","title":"ZMQ.Socket","text":"Socket(ctx::Context, typ::Integer)\n\nCreate a socket in a given context.\n\n\n\n\n\n","category":"method"},{"location":"reference/#ZMQ.Socket-Tuple{Integer}","page":"Reference","title":"ZMQ.Socket","text":"Socket(typ::Integer)\n\nCreate a socket of a certain type.\n\n\n\n\n\n","category":"method"},{"location":"reference/#ZMQ.Socket-Tuple{Function}","page":"Reference","title":"ZMQ.Socket","text":"Socket(f::Function, args...)\n\nDo-block constructor.\n\n\n\n\n\n","category":"method"},{"location":"reference/#Base.isopen","page":"Reference","title":"Base.isopen","text":"Base.isopen(socket::Socket)\n\n\n\n\n\n","category":"function"},{"location":"reference/#Base.close","page":"Reference","title":"Base.close","text":"Base.close(socket::Socket)\n\n\n\n\n\n","category":"function"},{"location":"reference/","page":"Reference","title":"Reference","text":"Socket implements the Sockets interface:","category":"page"},{"location":"reference/","page":"Reference","title":"Reference","text":"bind\nconnect\nrecv\nsend","category":"page"},{"location":"reference/#Base.bind","page":"Reference","title":"Base.bind","text":"Sockets.bind(socket::Socket, endpoint::AbstractString)\n\nBind the socket to an endpoint. Note that the endpoint must be formatted as described here. e.g. tcp://127.0.0.1:42000.\n\n\n\n\n\n","category":"function"},{"location":"reference/#Sockets.connect","page":"Reference","title":"Sockets.connect","text":"Sockets.connect(socket::Socket, endpoint::AbstractString)\n\nConnect the socket to an endpoint.\n\n\n\n\n\n","category":"function"},{"location":"reference/#Sockets.recv","page":"Reference","title":"Sockets.recv","text":"recv(socket::Socket)\n\nReturn a Message object representing a message received from a ZMQ Socket (without making a copy of the message data).\n\n\n\n\n\nrecv(socket::Socket, ::Type{T})\n\nReceive a message of type T (typically a String, Vector{UInt8}, or isbits type) from a ZMQ Socket. (Makes a copy of the message data; you can alternatively use recv(socket) to work with zero-copy bytearray-like representation for large messages.)\n\n\n\n\n\n","category":"function"},{"location":"reference/#Sockets.send","page":"Reference","title":"Sockets.send","text":"send(socket::Socket, data; more=false)\n\nSend data over socket. A more=true keyword argument can be passed to indicate that data is a portion of a larger multipart message. data can be any isbits type, a Vector of isbits elements, a String, or a Message object to perform zero-copy sends of large arrays.\n\n\n\n\n\nsend(socket::Socket, zmsg::Message; more::Bool=false)\n\nZero-copy version of Sockets.send(socket, data) using a user-allocated Message.\n\n\n\n\n\n","category":"function"},{"location":"reference/","page":"Reference","title":"Reference","text":"ZMQ socket types (note: some of these are aliases; e.g. XREQ = DEALER):","category":"page"},{"location":"reference/","page":"Reference","title":"Reference","text":"PAIR\nPUB\nSUB\nREQ\nREP\nDEALER\nROUTER\nPULL\nPUSH\nXPUB\nXSUB\nXREQ\nXREP\nUPSTREAM\nDOWNSTREAM","category":"page"},{"location":"reference/#ZMQ.PAIR","page":"Reference","title":"ZMQ.PAIR","text":"PAIR socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.PUB","page":"Reference","title":"ZMQ.PUB","text":"PUB socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.SUB","page":"Reference","title":"ZMQ.SUB","text":"SUB socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.REQ","page":"Reference","title":"ZMQ.REQ","text":"REQ socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.REP","page":"Reference","title":"ZMQ.REP","text":"REP socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.DEALER","page":"Reference","title":"ZMQ.DEALER","text":"DEALER socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.ROUTER","page":"Reference","title":"ZMQ.ROUTER","text":"ROUTER socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.PULL","page":"Reference","title":"ZMQ.PULL","text":"PULL socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.PUSH","page":"Reference","title":"ZMQ.PUSH","text":"PUSH socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.XPUB","page":"Reference","title":"ZMQ.XPUB","text":"XPUB socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.XSUB","page":"Reference","title":"ZMQ.XSUB","text":"XSUB socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.XREQ","page":"Reference","title":"ZMQ.XREQ","text":"XREQ socket.\n\ncompat: Compat\nThis is a deprecated alias for ZMQ.DEALER.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.XREP","page":"Reference","title":"ZMQ.XREP","text":"XREP socket.\n\ncompat: Compat\nThis is a deprecated alias for ZMQ.ROUTER.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.UPSTREAM","page":"Reference","title":"ZMQ.UPSTREAM","text":"UPSTREAM socket.\n\ncompat: Compat\nThis is a deprecated alias for ZMQ.PULL.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.DOWNSTREAM","page":"Reference","title":"ZMQ.DOWNSTREAM","text":"DOWNSTREAM socket.\n\ncompat: Compat\nThis is a deprecated alias for ZMQ.PUSH.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#Messages","page":"Reference","title":"Messages","text":"","category":"section"},{"location":"reference/","page":"Reference","title":"Reference","text":"Message\nMessage()\nMessage(::Integer)\nMessage(::Any)\nMessage(::String)\nMessage(::SubString{String})\nMessage(::DenseVector)\nMessage(::IOBuffer)\nisfreed(::Message)","category":"page"},{"location":"reference/#ZMQ.Message","page":"Reference","title":"ZMQ.Message","text":"mutable struct Message <: AbstractArray{UInt8, 1}\n\nHigh-level Message object for sending/receiving ZMQ messages in shared buffers. As an AbstractArray, it supports common (non-resizeable) array behaviour.\n\nExamples\n\njulia> using ZMQ\n\njulia> m = Message(\"foo\");\n\njulia> Char(m[1]) # Array indexing\n'f': ASCII/Unicode U+0066 (category Ll: Letter, lowercase)\n\njulia> m[end] = Int('g'); # Array assignment\n\njulia> unsafe_string(m) # Conversion to string (only do this if you know the message is a string)\n\"fog\"\n\njulia> IOBuffer(m) # Create a zero-copy IOBuffer\nIOBuffer(data=UInt8[...], readable=true, writable=false, seekable=true, append=false, size=3, maxsize=Inf, ptr=1, mark=-1)\n\n\n\n\n\n","category":"type"},{"location":"reference/#ZMQ.Message-Tuple{}","page":"Reference","title":"ZMQ.Message","text":"Message()\n\nCreate an empty message (for receive).\n\n\n\n\n\n","category":"method"},{"location":"reference/#ZMQ.Message-Tuple{Integer}","page":"Reference","title":"ZMQ.Message","text":"Message(len::Integer)\n\nCreate a message with a given buffer size (for send).\n\n\n\n\n\n","category":"method"},{"location":"reference/#ZMQ.Message-Tuple{Any}","page":"Reference","title":"ZMQ.Message","text":"Message(origin::Any, m::Ptr{T}, len::Integer) where {T}\n\nLow-level function to create a message (for send) with an existing data buffer, without making a copy. The origin parameter should be the Julia object that is the origin of the data, so that we can hold a reference to it until ZMQ is done with the buffer.\n\n\n\n\n\n","category":"method"},{"location":"reference/#ZMQ.Message-Tuple{String}","page":"Reference","title":"ZMQ.Message","text":"Message(m::String)\n\nCreate a message with a string as a buffer (for send). Note: the Message now \"owns\" the string, it must not be resized, or even written to after the message is sent.\n\n\n\n\n\n","category":"method"},{"location":"reference/#ZMQ.Message-Tuple{SubString{String}}","page":"Reference","title":"ZMQ.Message","text":"Message(p::SubString{String})\n\nCreate a message with a sub-string as a buffer (for send). Note: the same ownership semantics as for Message(m::String) apply.\n\n\n\n\n\n","category":"method"},{"location":"reference/#ZMQ.Message-Tuple{DenseVector}","page":"Reference","title":"ZMQ.Message","text":"Message(a::T) where T <: DenseVector\n\nCreate a message with an array as a buffer (for send). Note: the same ownership semantics as for Message(m::String) apply.\n\nUsually a will be a 1D Array/Vector, but on Julia 1.11+ it can also be a Memory.\n\n\n\n\n\n","category":"method"},{"location":"reference/#ZMQ.Message-Tuple{IOBuffer}","page":"Reference","title":"ZMQ.Message","text":"Message(io::IOBuffer)\n\nCreate a message with an IOBuffer as a buffer (for send). Note: the same ownership semantics as for Message(m::String) apply.\n\n\n\n\n\n","category":"method"},{"location":"reference/#ZMQ.isfreed-Tuple{Message}","page":"Reference","title":"ZMQ.isfreed","text":"isfreed(m::Message)\n\nCheck whether zeromq has called our free-function, i.e. whether we are safe to reclaim ownership of any buffer object the Message was created with.\n\n\n\n\n\n","category":"method"},{"location":"reference/#Context","page":"Reference","title":"Context","text":"","category":"section"},{"location":"reference/","page":"Reference","title":"Reference","text":"ZMQ.context","category":"page"},{"location":"reference/#ZMQ.context","page":"Reference","title":"ZMQ.context","text":"context()\n\nReturn the default ZMQ context (of type Context), initializing it if this has not been done already. (This context is automatically closed when Julia exits.)\n\n\n\n\n\n","category":"function"},{"location":"man/examples/#Examples","page":"Examples","title":"Examples","text":"","category":"section"},{"location":"man/examples/","page":"Examples","title":"Examples","text":"Examples using ZMQ.jl can be found in the ZeroMQ Guide (zguide) or directly in its repository","category":"page"},{"location":"#ZMQ.jl","page":"Home","title":"ZMQ.jl","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"A Julia interface to ZeroMQ.","category":"page"},{"location":"","page":"Home","title":"Home","text":"ZMQ.jl is a Julia interface to ZeroMQ, The Intelligent Transport Layer.","category":"page"},{"location":"#Package-Features","page":"Home","title":"Package Features","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Access ZeroMQ sockets from Julia","category":"page"},{"location":"","page":"Home","title":"Home","text":"The Guide provides a tutorial explaining how to get started using ZMQ.jl.","category":"page"},{"location":"","page":"Home","title":"Home","text":"Some examples are linked on the Examples page.","category":"page"},{"location":"","page":"Home","title":"Home","text":"See the Reference for the complete list of wrapped functions and types.","category":"page"},{"location":"bindings/#Bindings","page":"Bindings","title":"Bindings","text":"","category":"section"},{"location":"bindings/","page":"Bindings","title":"Bindings","text":"This page documents the low-level bindings to libzmq that were automatically generated. Where possible, the docstrings link to the upstream documentation. Bindings have not been generated for deprecated functions.","category":"page"},{"location":"bindings/","page":"Bindings","title":"Bindings","text":"danger: Danger\nThese bindings are unsafe, do not use them unless you know what you're doing.","category":"page"},{"location":"bindings/","page":"Bindings","title":"Bindings","text":"","category":"page"},{"location":"bindings/","page":"Bindings","title":"Bindings","text":"Modules = [ZMQ.lib]","category":"page"},{"location":"bindings/#ZMQ.lib.zmq_atomic_counter_dec-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_atomic_counter_dec","text":"zmq_atomic_counter_dec(counter_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_atomic_counter_destroy-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_atomic_counter_destroy","text":"zmq_atomic_counter_destroy(counter_p_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_atomic_counter_inc-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_atomic_counter_inc","text":"zmq_atomic_counter_inc(counter_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_atomic_counter_new-Tuple{}","page":"Bindings","title":"ZMQ.lib.zmq_atomic_counter_new","text":"zmq_atomic_counter_new()\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_atomic_counter_set-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_atomic_counter_set","text":"zmq_atomic_counter_set(counter_, value_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_atomic_counter_value-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_atomic_counter_value","text":"zmq_atomic_counter_value(counter_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_bind-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_bind","text":"zmq_bind(s_, addr_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_close-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_close","text":"zmq_close(s_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_connect-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_connect","text":"zmq_connect(s_, addr_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_ctx_get-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_ctx_get","text":"zmq_ctx_get(context_, option_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_ctx_new-Tuple{}","page":"Bindings","title":"ZMQ.lib.zmq_ctx_new","text":"zmq_ctx_new()\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_ctx_set-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_ctx_set","text":"zmq_ctx_set(context_, option_, optval_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_ctx_shutdown-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_ctx_shutdown","text":"zmq_ctx_shutdown(context_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_ctx_term-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_ctx_term","text":"zmq_ctx_term(context_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_curve_keypair-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_curve_keypair","text":"zmq_curve_keypair(z85_public_key_, z85_secret_key_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_curve_public-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_curve_public","text":"zmq_curve_public(z85_public_key_, z85_secret_key_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_disconnect-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_disconnect","text":"zmq_disconnect(s_, addr_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_errno-Tuple{}","page":"Bindings","title":"ZMQ.lib.zmq_errno","text":"zmq_errno()\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_getsockopt-NTuple{4, Any}","page":"Bindings","title":"ZMQ.lib.zmq_getsockopt","text":"zmq_getsockopt(s_, option_, optval_, optvallen_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_has-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_has","text":"zmq_has(capability_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_close-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_close","text":"zmq_msg_close(msg_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_copy-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_copy","text":"zmq_msg_copy(dest_, src_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_data-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_data","text":"zmq_msg_data(msg_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_get-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_get","text":"zmq_msg_get(msg_, property_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_gets-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_gets","text":"zmq_msg_gets(msg_, property_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_init-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_init","text":"zmq_msg_init(msg_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_init_data-NTuple{5, Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_init_data","text":"zmq_msg_init_data(msg_, data_, size_, ffn_, hint_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_init_size-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_init_size","text":"zmq_msg_init_size(msg_, size_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_more-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_more","text":"zmq_msg_more(msg_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_move-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_move","text":"zmq_msg_move(dest_, src_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_recv-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_recv","text":"zmq_msg_recv(msg_, s_, flags_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_send-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_send","text":"zmq_msg_send(msg_, s_, flags_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_set-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_set","text":"zmq_msg_set(msg_, property_, optval_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_size-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_size","text":"zmq_msg_size(msg_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_poll-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_poll","text":"zmq_poll(items_, nitems_, timeout_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_proxy-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_proxy","text":"zmq_proxy(frontend_, backend_, capture_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_proxy_steerable-NTuple{4, Any}","page":"Bindings","title":"ZMQ.lib.zmq_proxy_steerable","text":"zmq_proxy_steerable(frontend_, backend_, capture_, control_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_recv-NTuple{4, Any}","page":"Bindings","title":"ZMQ.lib.zmq_recv","text":"zmq_recv(s_, buf_, len_, flags_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_send-NTuple{4, Any}","page":"Bindings","title":"ZMQ.lib.zmq_send","text":"zmq_send(s_, buf_, len_, flags_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_send_const-NTuple{4, Any}","page":"Bindings","title":"ZMQ.lib.zmq_send_const","text":"zmq_send_const(s_, buf_, len_, flags_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_setsockopt-NTuple{4, Any}","page":"Bindings","title":"ZMQ.lib.zmq_setsockopt","text":"zmq_setsockopt(s_, option_, optval_, optvallen_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_sleep-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_sleep","text":"zmq_sleep(seconds_)\n\nThis is an undocumented function, not part of the formal ZMQ API.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_socket-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_socket","text":"zmq_socket(arg1, type_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_socket_monitor-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_socket_monitor","text":"zmq_socket_monitor(s_, addr_, events_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_stopwatch_intermediate-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_stopwatch_intermediate","text":"zmq_stopwatch_intermediate(watch_)\n\nThis is an undocumented function, not part of the formal ZMQ API.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_stopwatch_start-Tuple{}","page":"Bindings","title":"ZMQ.lib.zmq_stopwatch_start","text":"zmq_stopwatch_start()\n\nThis is an undocumented function, not part of the formal ZMQ API.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_stopwatch_stop-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_stopwatch_stop","text":"zmq_stopwatch_stop(watch_)\n\nThis is an undocumented function, not part of the formal ZMQ API.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_strerror-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_strerror","text":"zmq_strerror(errnum_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_threadclose-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_threadclose","text":"zmq_threadclose(thread_)\n\nThis is an undocumented function, not part of the formal ZMQ API.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_threadstart-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_threadstart","text":"zmq_threadstart(func_, arg_)\n\nThis is an undocumented function, not part of the formal ZMQ API.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_timers_add-NTuple{4, Any}","page":"Bindings","title":"ZMQ.lib.zmq_timers_add","text":"zmq_timers_add(timers, interval, handler, arg)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_timers_cancel-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_timers_cancel","text":"zmq_timers_cancel(timers, timer_id)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_timers_destroy-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_timers_destroy","text":"zmq_timers_destroy(timers_p)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_timers_execute-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_timers_execute","text":"zmq_timers_execute(timers)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_timers_new-Tuple{}","page":"Bindings","title":"ZMQ.lib.zmq_timers_new","text":"zmq_timers_new()\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_timers_reset-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_timers_reset","text":"zmq_timers_reset(timers, timer_id)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_timers_set_interval-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_timers_set_interval","text":"zmq_timers_set_interval(timers, timer_id, interval)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_timers_timeout-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_timers_timeout","text":"zmq_timers_timeout(timers)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_unbind-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_unbind","text":"zmq_unbind(s_, addr_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_version-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_version","text":"zmq_version(major_, minor_, patch_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_z85_decode-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_z85_decode","text":"zmq_z85_decode(dest_, string_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_z85_encode-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_z85_encode","text":"zmq_z85_encode(dest_, data_, size_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"}] +[{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"CurrentModule = ZMQ","category":"page"},{"location":"_changelog/#Changelog","page":"Changelog","title":"Changelog","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"This documents notable changes in ZMQ.jl. The format is based on Keep a Changelog.","category":"page"},{"location":"_changelog/#[v1.4.0]-2024-11-30","page":"Changelog","title":"[v1.4.0] - 2024-11-30","text":"","category":"section"},{"location":"_changelog/#Added","page":"Changelog","title":"Added","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"Implemented send_multipart() and recv_multipart() for working with multipart messages ([#253]).","category":"page"},{"location":"_changelog/#[v1.3.0]-2024-08-03","page":"Changelog","title":"[v1.3.0] - 2024-08-03","text":"","category":"section"},{"location":"_changelog/#Added-2","page":"Changelog","title":"Added","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"Support for creating Message's from the new Memory type in Julia 1.11 ([#244]).\nFull Bindings to libzmq ([#232]).","category":"page"},{"location":"_changelog/#Deprecated","page":"Changelog","title":"Deprecated","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"The Base.convert(IOStream, ::Message) method has been deprecated due to buggy behaviour, use IOBuffer(msg) instead ([#247]).","category":"page"},{"location":"_changelog/#Fixed","page":"Changelog","title":"Fixed","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"Fixed isfreed(), which would previously return the wrong values ([#245]).","category":"page"},{"location":"_changelog/#[v1.2.6]-2024-06-13","page":"Changelog","title":"[v1.2.6] - 2024-06-13","text":"","category":"section"},{"location":"_changelog/#Added-3","page":"Changelog","title":"Added","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"lib_version() to get the libzmq version ([#240]).","category":"page"},{"location":"_changelog/#Fixed-2","page":"Changelog","title":"Fixed","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"Fixed a precompilation bug that would cause creating a sysimage with PackageCompiler.jl on Julia 1.6 to fail ([#242]).","category":"page"},{"location":"_changelog/#[v1.2.5]-2024-05-28","page":"Changelog","title":"[v1.2.5] - 2024-05-28","text":"","category":"section"},{"location":"_changelog/#Fixed-3","page":"Changelog","title":"Fixed","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"Fixed support for Julia 1.3 in the precompilation workload ([#237]).","category":"page"},{"location":"_changelog/#[v1.2.4]-2024-05-27","page":"Changelog","title":"[v1.2.4] - 2024-05-27","text":"","category":"section"},{"location":"_changelog/#Changed","page":"Changelog","title":"Changed","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"Refactored the internals to use the public FileWatching.FDWatcher instead of FileWatching._FDWatcher ([#215]).","category":"page"},{"location":"_changelog/#Fixed-4","page":"Changelog","title":"Fixed","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"Docstrings to inner constructors are now assigned properly ([#227]).\nSocket now holds a reference to its Context to prevent it from being garbage collected accidentally ([#229]).\nChanged the precompilation workload to use any available port to avoid port conflicts ([#234]).","category":"page"},{"location":"_changelog/#[v1.2.3]-2024-05-12","page":"Changelog","title":"[v1.2.3] - 2024-05-12","text":"","category":"section"},{"location":"_changelog/#Added-4","page":"Changelog","title":"Added","text":"","category":"section"},{"location":"_changelog/","page":"Changelog","title":"Changelog","text":"Support for setting ZMQ_IMMEDIATE and ZMQ_CONFLATE on sockets ([#209], [#222]).\nOverloads for Message to allow deserializing them with MsgPack.jl ([#214]).\nA precompilation workload to improve TTFX ([#224]).","category":"page"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"EditURL = \"https://github.com/JuliaInterop/ZMQ.jl/blob/master/CHANGELOG.md\"","category":"page"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"CurrentModule = ZMQ","category":"page"},{"location":"changelog/#Changelog","page":"Changelog","title":"Changelog","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"This documents notable changes in ZMQ.jl. The format is based on Keep a Changelog.","category":"page"},{"location":"changelog/#[v1.4.0](https://github.com/JuliaInterop/ZMQ.jl/releases/tag/v1.4.0)-2024-11-30","page":"Changelog","title":"v1.4.0 - 2024-11-30","text":"","category":"section"},{"location":"changelog/#Added","page":"Changelog","title":"Added","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"Implemented send_multipart() and recv_multipart() for working with multipart messages (#253).","category":"page"},{"location":"changelog/#[v1.3.0](https://github.com/JuliaInterop/ZMQ.jl/releases/tag/v1.3.0)-2024-08-03","page":"Changelog","title":"v1.3.0 - 2024-08-03","text":"","category":"section"},{"location":"changelog/#Added-2","page":"Changelog","title":"Added","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"Support for creating Message's from the new Memory type in Julia 1.11 (#244).\nFull Bindings to libzmq (#232).","category":"page"},{"location":"changelog/#Deprecated","page":"Changelog","title":"Deprecated","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"The Base.convert(IOStream, ::Message) method has been deprecated due to buggy behaviour, use IOBuffer(msg) instead (#247).","category":"page"},{"location":"changelog/#Fixed","page":"Changelog","title":"Fixed","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"Fixed isfreed(), which would previously return the wrong values (#245).","category":"page"},{"location":"changelog/#[v1.2.6](https://github.com/JuliaInterop/ZMQ.jl/releases/tag/v1.2.6)-2024-06-13","page":"Changelog","title":"v1.2.6 - 2024-06-13","text":"","category":"section"},{"location":"changelog/#Added-3","page":"Changelog","title":"Added","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"lib_version() to get the libzmq version (#240).","category":"page"},{"location":"changelog/#Fixed-2","page":"Changelog","title":"Fixed","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"Fixed a precompilation bug that would cause creating a sysimage with PackageCompiler.jl on Julia 1.6 to fail (#242).","category":"page"},{"location":"changelog/#[v1.2.5](https://github.com/JuliaInterop/ZMQ.jl/releases/tag/v1.2.5)-2024-05-28","page":"Changelog","title":"v1.2.5 - 2024-05-28","text":"","category":"section"},{"location":"changelog/#Fixed-3","page":"Changelog","title":"Fixed","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"Fixed support for Julia 1.3 in the precompilation workload (#237).","category":"page"},{"location":"changelog/#[v1.2.4](https://github.com/JuliaInterop/ZMQ.jl/releases/tag/v1.2.4)-2024-05-27","page":"Changelog","title":"v1.2.4 - 2024-05-27","text":"","category":"section"},{"location":"changelog/#Changed","page":"Changelog","title":"Changed","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"Refactored the internals to use the public FileWatching.FDWatcher instead of FileWatching._FDWatcher (#215).","category":"page"},{"location":"changelog/#Fixed-4","page":"Changelog","title":"Fixed","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"Docstrings to inner constructors are now assigned properly (#227).\nSocket now holds a reference to its Context to prevent it from being garbage collected accidentally (#229).\nChanged the precompilation workload to use any available port to avoid port conflicts (#234).","category":"page"},{"location":"changelog/#[v1.2.3](https://github.com/JuliaInterop/ZMQ.jl/releases/tag/v1.2.3)-2024-05-12","page":"Changelog","title":"v1.2.3 - 2024-05-12","text":"","category":"section"},{"location":"changelog/#Added-4","page":"Changelog","title":"Added","text":"","category":"section"},{"location":"changelog/","page":"Changelog","title":"Changelog","text":"Support for setting ZMQ_IMMEDIATE and ZMQ_CONFLATE on sockets (#209, #222).\nOverloads for Message to allow deserializing them with MsgPack.jl (#214).\nA precompilation workload to improve TTFX (#224).","category":"page"},{"location":"man/guide/#Guide","page":"Guide","title":"Guide","text":"","category":"section"},{"location":"man/guide/#Usage","page":"Guide","title":"Usage","text":"","category":"section"},{"location":"man/guide/","page":"Guide","title":"Guide","text":"using ZMQ\n\ns1=Socket(REP)\ns2=Socket(REQ)\n\nbind(s1, \"tcp://*:5555\")\nconnect(s2, \"tcp://localhost:5555\")\n\nsend(s2, \"test request\")\nmsg = recv(s1, String)\nsend(s1, \"test response\")\nclose(s1)\nclose(s2)","category":"page"},{"location":"man/guide/","page":"Guide","title":"Guide","text":"The send(socket, x) and recv(socket, SomeType) functions make an extra copy of the data when converting between ZMQ and Julia. Alternatively, for large data sets (e.g. very large arrays or long strings), it can be preferable to share data, with send(socket, Message(x)) and msg = recv(Message), where the msg::Message object acts like an array of bytes; this involves some overhead so it may not be optimal for short messages.","category":"page"},{"location":"man/guide/","page":"Guide","title":"Guide","text":"(Help in writing more detailed documentation would be welcome!)","category":"page"},{"location":"reference/","page":"Reference","title":"Reference","text":"CurrentModule = ZMQ","category":"page"},{"location":"reference/#Reference","page":"Reference","title":"Reference","text":"","category":"section"},{"location":"reference/","page":"Reference","title":"Reference","text":"lib_version","category":"page"},{"location":"reference/#ZMQ.lib_version","page":"Reference","title":"ZMQ.lib_version","text":"lib_version()\n\nGet the libzmq version number.\n\n\n\n\n\n","category":"function"},{"location":"reference/#Sockets","page":"Reference","title":"Sockets","text":"","category":"section"},{"location":"reference/","page":"Reference","title":"Reference","text":"The ZMQ Socket type:","category":"page"},{"location":"reference/","page":"Reference","title":"Reference","text":"Socket\nSocket(::Context, ::Integer)\nSocket(::Integer)\nSocket(::Function)\nisopen\nclose","category":"page"},{"location":"reference/#ZMQ.Socket","page":"Reference","title":"ZMQ.Socket","text":"A ZMQ socket.\n\n\n\n\n\n","category":"type"},{"location":"reference/#ZMQ.Socket-Tuple{Context, Integer}","page":"Reference","title":"ZMQ.Socket","text":"Socket(ctx::Context, typ::Integer)\n\nCreate a socket in a given context.\n\n\n\n\n\n","category":"method"},{"location":"reference/#ZMQ.Socket-Tuple{Integer}","page":"Reference","title":"ZMQ.Socket","text":"Socket(typ::Integer)\n\nCreate a socket of a certain type.\n\n\n\n\n\n","category":"method"},{"location":"reference/#ZMQ.Socket-Tuple{Function}","page":"Reference","title":"ZMQ.Socket","text":"Socket(f::Function, args...)\n\nDo-block constructor.\n\n\n\n\n\n","category":"method"},{"location":"reference/#Base.isopen","page":"Reference","title":"Base.isopen","text":"Base.isopen(socket::Socket)\n\n\n\n\n\n","category":"function"},{"location":"reference/#Base.close","page":"Reference","title":"Base.close","text":"Base.close(socket::Socket)\n\n\n\n\n\n","category":"function"},{"location":"reference/","page":"Reference","title":"Reference","text":"Socket implements the Sockets interface:","category":"page"},{"location":"reference/","page":"Reference","title":"Reference","text":"bind\nconnect\nrecv\nrecv_multipart\nsend\nsend_multipart","category":"page"},{"location":"reference/#Base.bind","page":"Reference","title":"Base.bind","text":"Sockets.bind(socket::Socket, endpoint::AbstractString)\n\nBind the socket to an endpoint. Note that the endpoint must be formatted as described here. e.g. tcp://127.0.0.1:42000.\n\n\n\n\n\n","category":"function"},{"location":"reference/#Sockets.connect","page":"Reference","title":"Sockets.connect","text":"Sockets.connect(socket::Socket, endpoint::AbstractString)\n\nConnect the socket to an endpoint.\n\n\n\n\n\n","category":"function"},{"location":"reference/#Sockets.recv","page":"Reference","title":"Sockets.recv","text":"recv(socket::Socket)\n\nReturn a Message object representing a message received from a ZMQ Socket (without making a copy of the message data).\n\n\n\n\n\nrecv(socket::Socket, ::Type{T})\n\nReceive a message of type T (typically a String, Vector{UInt8}, or isbits type) from a ZMQ Socket. (Makes a copy of the message data; you can alternatively use recv(socket) to work with zero-copy bytearray-like representation for large messages.)\n\n\n\n\n\n","category":"function"},{"location":"reference/#ZMQ.recv_multipart","page":"Reference","title":"ZMQ.recv_multipart","text":"recv_multipart(socket::Socket, ::Type{T}) -> Vector{T}\n\nReceive a multipart message of a specific type T. This behaves in the same way as recv(::Socket, ::Type).\n\n\n\n\n\nrecv_multipart(socket::Socket) -> Vector{Message}\n\nReceive a multipart message as a sequence of zero-copy Message's. See recv(::Socket).\n\n\n\n\n\n","category":"function"},{"location":"reference/#Sockets.send","page":"Reference","title":"Sockets.send","text":"send(socket::Socket, data; more=false)\n\nSend data over socket. A more=true keyword argument can be passed to indicate that data is a portion of a larger multipart message. data can be any isbits type, a Vector of isbits elements, a String, or a Message object to perform zero-copy sends of large arrays.\n\n\n\n\n\nsend(socket::Socket, zmsg::Message; more::Bool=false)\n\nZero-copy version of Sockets.send(socket, data) using a user-allocated Message.\n\n\n\n\n\n","category":"function"},{"location":"reference/#ZMQ.send_multipart","page":"Reference","title":"ZMQ.send_multipart","text":"send_multipart(socket::Socket, parts)\n\nSend a multipart message composed of the elements in parts. parts may be any object that supports getindex(), eachindex(), and lastindex().\n\n\n\n\n\n","category":"function"},{"location":"reference/","page":"Reference","title":"Reference","text":"ZMQ socket types (note: some of these are aliases; e.g. XREQ = DEALER):","category":"page"},{"location":"reference/","page":"Reference","title":"Reference","text":"PAIR\nPUB\nSUB\nREQ\nREP\nDEALER\nROUTER\nPULL\nPUSH\nXPUB\nXSUB\nXREQ\nXREP\nUPSTREAM\nDOWNSTREAM","category":"page"},{"location":"reference/#ZMQ.PAIR","page":"Reference","title":"ZMQ.PAIR","text":"PAIR socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.PUB","page":"Reference","title":"ZMQ.PUB","text":"PUB socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.SUB","page":"Reference","title":"ZMQ.SUB","text":"SUB socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.REQ","page":"Reference","title":"ZMQ.REQ","text":"REQ socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.REP","page":"Reference","title":"ZMQ.REP","text":"REP socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.DEALER","page":"Reference","title":"ZMQ.DEALER","text":"DEALER socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.ROUTER","page":"Reference","title":"ZMQ.ROUTER","text":"ROUTER socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.PULL","page":"Reference","title":"ZMQ.PULL","text":"PULL socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.PUSH","page":"Reference","title":"ZMQ.PUSH","text":"PUSH socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.XPUB","page":"Reference","title":"ZMQ.XPUB","text":"XPUB socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.XSUB","page":"Reference","title":"ZMQ.XSUB","text":"XSUB socket.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.XREQ","page":"Reference","title":"ZMQ.XREQ","text":"XREQ socket.\n\ncompat: Compat\nThis is a deprecated alias for ZMQ.DEALER.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.XREP","page":"Reference","title":"ZMQ.XREP","text":"XREP socket.\n\ncompat: Compat\nThis is a deprecated alias for ZMQ.ROUTER.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.UPSTREAM","page":"Reference","title":"ZMQ.UPSTREAM","text":"UPSTREAM socket.\n\ncompat: Compat\nThis is a deprecated alias for ZMQ.PULL.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#ZMQ.DOWNSTREAM","page":"Reference","title":"ZMQ.DOWNSTREAM","text":"DOWNSTREAM socket.\n\ncompat: Compat\nThis is a deprecated alias for ZMQ.PUSH.\n\n\n\n\n\n","category":"constant"},{"location":"reference/#Messages","page":"Reference","title":"Messages","text":"","category":"section"},{"location":"reference/","page":"Reference","title":"Reference","text":"Message\nMessage()\nMessage(::Integer)\nMessage(::Any)\nMessage(::String)\nMessage(::SubString{String})\nMessage(::DenseVector)\nMessage(::IOBuffer)\nisfreed(::Message)","category":"page"},{"location":"reference/#ZMQ.Message","page":"Reference","title":"ZMQ.Message","text":"mutable struct Message <: AbstractArray{UInt8, 1}\n\nHigh-level Message object for sending/receiving ZMQ messages in shared buffers. As an AbstractArray, it supports common (non-resizeable) array behaviour.\n\nExamples\n\njulia> using ZMQ\n\njulia> m = Message(\"foo\");\n\njulia> Char(m[1]) # Array indexing\n'f': ASCII/Unicode U+0066 (category Ll: Letter, lowercase)\n\njulia> m[end] = Int('g'); # Array assignment\n\njulia> unsafe_string(m) # Conversion to string (only do this if you know the message is a string)\n\"fog\"\n\njulia> IOBuffer(m) # Create a zero-copy IOBuffer\nIOBuffer(data=UInt8[...], readable=true, writable=false, seekable=true, append=false, size=3, maxsize=Inf, ptr=1, mark=-1)\n\n\n\n\n\n","category":"type"},{"location":"reference/#ZMQ.Message-Tuple{}","page":"Reference","title":"ZMQ.Message","text":"Message()\n\nCreate an empty message (for receive).\n\n\n\n\n\n","category":"method"},{"location":"reference/#ZMQ.Message-Tuple{Integer}","page":"Reference","title":"ZMQ.Message","text":"Message(len::Integer)\n\nCreate a message with a given buffer size (for send).\n\n\n\n\n\n","category":"method"},{"location":"reference/#ZMQ.Message-Tuple{Any}","page":"Reference","title":"ZMQ.Message","text":"Message(origin::Any, m::Ptr{T}, len::Integer) where {T}\n\nLow-level function to create a message (for send) with an existing data buffer, without making a copy. The origin parameter should be the Julia object that is the origin of the data, so that we can hold a reference to it until ZMQ is done with the buffer.\n\n\n\n\n\n","category":"method"},{"location":"reference/#ZMQ.Message-Tuple{String}","page":"Reference","title":"ZMQ.Message","text":"Message(m::String)\n\nCreate a message with a string as a buffer (for send). Note: the Message now \"owns\" the string, it must not be resized, or even written to after the message is sent.\n\n\n\n\n\n","category":"method"},{"location":"reference/#ZMQ.Message-Tuple{SubString{String}}","page":"Reference","title":"ZMQ.Message","text":"Message(p::SubString{String})\n\nCreate a message with a sub-string as a buffer (for send). Note: the same ownership semantics as for Message(m::String) apply.\n\n\n\n\n\n","category":"method"},{"location":"reference/#ZMQ.Message-Tuple{DenseVector}","page":"Reference","title":"ZMQ.Message","text":"Message(a::T) where T <: DenseVector\n\nCreate a message with an array as a buffer (for send). Note: the same ownership semantics as for Message(m::String) apply.\n\nUsually a will be a 1D Array/Vector, but on Julia 1.11+ it can also be a Memory.\n\n\n\n\n\n","category":"method"},{"location":"reference/#ZMQ.Message-Tuple{IOBuffer}","page":"Reference","title":"ZMQ.Message","text":"Message(io::IOBuffer)\n\nCreate a message with an IOBuffer as a buffer (for send). Note: the same ownership semantics as for Message(m::String) apply.\n\n\n\n\n\n","category":"method"},{"location":"reference/#ZMQ.isfreed-Tuple{Message}","page":"Reference","title":"ZMQ.isfreed","text":"isfreed(m::Message)\n\nCheck whether zeromq has called our free-function, i.e. whether we are safe to reclaim ownership of any buffer object the Message was created with.\n\n\n\n\n\n","category":"method"},{"location":"reference/#Context","page":"Reference","title":"Context","text":"","category":"section"},{"location":"reference/","page":"Reference","title":"Reference","text":"ZMQ.context","category":"page"},{"location":"reference/#ZMQ.context","page":"Reference","title":"ZMQ.context","text":"context()\n\nReturn the default ZMQ context (of type Context), initializing it if this has not been done already. (This context is automatically closed when Julia exits.)\n\n\n\n\n\n","category":"function"},{"location":"man/examples/#Examples","page":"Examples","title":"Examples","text":"","category":"section"},{"location":"man/examples/","page":"Examples","title":"Examples","text":"Examples using ZMQ.jl can be found in the ZeroMQ Guide (zguide) or directly in its repository","category":"page"},{"location":"#ZMQ.jl","page":"Home","title":"ZMQ.jl","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"A Julia interface to ZeroMQ.","category":"page"},{"location":"","page":"Home","title":"Home","text":"ZMQ.jl is a Julia interface to ZeroMQ, The Intelligent Transport Layer.","category":"page"},{"location":"#Package-Features","page":"Home","title":"Package Features","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Access ZeroMQ sockets from Julia","category":"page"},{"location":"","page":"Home","title":"Home","text":"The Guide provides a tutorial explaining how to get started using ZMQ.jl.","category":"page"},{"location":"","page":"Home","title":"Home","text":"Some examples are linked on the Examples page.","category":"page"},{"location":"","page":"Home","title":"Home","text":"See the Reference for the complete list of wrapped functions and types.","category":"page"},{"location":"bindings/#Bindings","page":"Bindings","title":"Bindings","text":"","category":"section"},{"location":"bindings/","page":"Bindings","title":"Bindings","text":"This page documents the low-level bindings to libzmq that were automatically generated. Where possible, the docstrings link to the upstream documentation. Bindings have not been generated for deprecated functions.","category":"page"},{"location":"bindings/","page":"Bindings","title":"Bindings","text":"danger: Danger\nThese bindings are unsafe, do not use them unless you know what you're doing.","category":"page"},{"location":"bindings/","page":"Bindings","title":"Bindings","text":"","category":"page"},{"location":"bindings/","page":"Bindings","title":"Bindings","text":"Modules = [ZMQ.lib]","category":"page"},{"location":"bindings/#ZMQ.lib.zmq_atomic_counter_dec-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_atomic_counter_dec","text":"zmq_atomic_counter_dec(counter_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_atomic_counter_destroy-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_atomic_counter_destroy","text":"zmq_atomic_counter_destroy(counter_p_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_atomic_counter_inc-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_atomic_counter_inc","text":"zmq_atomic_counter_inc(counter_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_atomic_counter_new-Tuple{}","page":"Bindings","title":"ZMQ.lib.zmq_atomic_counter_new","text":"zmq_atomic_counter_new()\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_atomic_counter_set-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_atomic_counter_set","text":"zmq_atomic_counter_set(counter_, value_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_atomic_counter_value-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_atomic_counter_value","text":"zmq_atomic_counter_value(counter_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_bind-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_bind","text":"zmq_bind(s_, addr_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_close-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_close","text":"zmq_close(s_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_connect-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_connect","text":"zmq_connect(s_, addr_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_ctx_get-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_ctx_get","text":"zmq_ctx_get(context_, option_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_ctx_new-Tuple{}","page":"Bindings","title":"ZMQ.lib.zmq_ctx_new","text":"zmq_ctx_new()\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_ctx_set-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_ctx_set","text":"zmq_ctx_set(context_, option_, optval_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_ctx_shutdown-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_ctx_shutdown","text":"zmq_ctx_shutdown(context_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_ctx_term-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_ctx_term","text":"zmq_ctx_term(context_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_curve_keypair-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_curve_keypair","text":"zmq_curve_keypair(z85_public_key_, z85_secret_key_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_curve_public-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_curve_public","text":"zmq_curve_public(z85_public_key_, z85_secret_key_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_disconnect-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_disconnect","text":"zmq_disconnect(s_, addr_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_errno-Tuple{}","page":"Bindings","title":"ZMQ.lib.zmq_errno","text":"zmq_errno()\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_getsockopt-NTuple{4, Any}","page":"Bindings","title":"ZMQ.lib.zmq_getsockopt","text":"zmq_getsockopt(s_, option_, optval_, optvallen_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_has-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_has","text":"zmq_has(capability_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_close-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_close","text":"zmq_msg_close(msg_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_copy-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_copy","text":"zmq_msg_copy(dest_, src_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_data-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_data","text":"zmq_msg_data(msg_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_get-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_get","text":"zmq_msg_get(msg_, property_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_gets-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_gets","text":"zmq_msg_gets(msg_, property_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_init-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_init","text":"zmq_msg_init(msg_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_init_data-NTuple{5, Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_init_data","text":"zmq_msg_init_data(msg_, data_, size_, ffn_, hint_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_init_size-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_init_size","text":"zmq_msg_init_size(msg_, size_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_more-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_more","text":"zmq_msg_more(msg_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_move-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_move","text":"zmq_msg_move(dest_, src_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_recv-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_recv","text":"zmq_msg_recv(msg_, s_, flags_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_send-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_send","text":"zmq_msg_send(msg_, s_, flags_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_set-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_set","text":"zmq_msg_set(msg_, property_, optval_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_msg_size-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_msg_size","text":"zmq_msg_size(msg_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_poll-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_poll","text":"zmq_poll(items_, nitems_, timeout_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_proxy-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_proxy","text":"zmq_proxy(frontend_, backend_, capture_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_proxy_steerable-NTuple{4, Any}","page":"Bindings","title":"ZMQ.lib.zmq_proxy_steerable","text":"zmq_proxy_steerable(frontend_, backend_, capture_, control_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_recv-NTuple{4, Any}","page":"Bindings","title":"ZMQ.lib.zmq_recv","text":"zmq_recv(s_, buf_, len_, flags_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_send-NTuple{4, Any}","page":"Bindings","title":"ZMQ.lib.zmq_send","text":"zmq_send(s_, buf_, len_, flags_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_send_const-NTuple{4, Any}","page":"Bindings","title":"ZMQ.lib.zmq_send_const","text":"zmq_send_const(s_, buf_, len_, flags_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_setsockopt-NTuple{4, Any}","page":"Bindings","title":"ZMQ.lib.zmq_setsockopt","text":"zmq_setsockopt(s_, option_, optval_, optvallen_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_sleep-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_sleep","text":"zmq_sleep(seconds_)\n\nThis is an undocumented function, not part of the formal ZMQ API.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_socket-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_socket","text":"zmq_socket(arg1, type_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_socket_monitor-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_socket_monitor","text":"zmq_socket_monitor(s_, addr_, events_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_stopwatch_intermediate-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_stopwatch_intermediate","text":"zmq_stopwatch_intermediate(watch_)\n\nThis is an undocumented function, not part of the formal ZMQ API.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_stopwatch_start-Tuple{}","page":"Bindings","title":"ZMQ.lib.zmq_stopwatch_start","text":"zmq_stopwatch_start()\n\nThis is an undocumented function, not part of the formal ZMQ API.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_stopwatch_stop-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_stopwatch_stop","text":"zmq_stopwatch_stop(watch_)\n\nThis is an undocumented function, not part of the formal ZMQ API.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_strerror-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_strerror","text":"zmq_strerror(errnum_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_threadclose-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_threadclose","text":"zmq_threadclose(thread_)\n\nThis is an undocumented function, not part of the formal ZMQ API.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_threadstart-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_threadstart","text":"zmq_threadstart(func_, arg_)\n\nThis is an undocumented function, not part of the formal ZMQ API.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_timers_add-NTuple{4, Any}","page":"Bindings","title":"ZMQ.lib.zmq_timers_add","text":"zmq_timers_add(timers, interval, handler, arg)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_timers_cancel-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_timers_cancel","text":"zmq_timers_cancel(timers, timer_id)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_timers_destroy-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_timers_destroy","text":"zmq_timers_destroy(timers_p)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_timers_execute-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_timers_execute","text":"zmq_timers_execute(timers)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_timers_new-Tuple{}","page":"Bindings","title":"ZMQ.lib.zmq_timers_new","text":"zmq_timers_new()\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_timers_reset-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_timers_reset","text":"zmq_timers_reset(timers, timer_id)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_timers_set_interval-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_timers_set_interval","text":"zmq_timers_set_interval(timers, timer_id, interval)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_timers_timeout-Tuple{Any}","page":"Bindings","title":"ZMQ.lib.zmq_timers_timeout","text":"zmq_timers_timeout(timers)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_unbind-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_unbind","text":"zmq_unbind(s_, addr_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_version-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_version","text":"zmq_version(major_, minor_, patch_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_z85_decode-Tuple{Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_z85_decode","text":"zmq_z85_decode(dest_, string_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"},{"location":"bindings/#ZMQ.lib.zmq_z85_encode-Tuple{Any, Any, Any}","page":"Bindings","title":"ZMQ.lib.zmq_z85_encode","text":"zmq_z85_encode(dest_, data_, size_)\n\nUpstream documentation.\n\n\n\n\n\n","category":"method"}] }