zproc(3)

zproc(3)

CZMQ Manual - CZMQ/2.2.1

Name

zproc - Class for process configuration and status

Synopsis

//  This is a draft class, and may change without notice. It is disabled in
//  stable builds by default. If you use this in applications, please ask
//  for it to be pushed to stable state. Use --enable-drafts to enable.
#ifdef CZMQ_BUILD_DRAFT_API
//  *** Draft method, for development use, may change without warning ***
//  Returns CZMQ version as a single 6-digit integer encoding the major
//  version (x 10000), the minor version (x 100) and the patch.
CZMQ_EXPORT int
    zproc_czmq_version (void);

//  *** Draft method, for development use, may change without warning ***
//  Returns true if the process received a SIGINT or SIGTERM signal.
//  It is good practice to use this method to exit any infinite loop
//  processing messages.
CZMQ_EXPORT bool
    zproc_interrupted (void);

//  *** Draft method, for development use, may change without warning ***
//  Returns true if the underlying libzmq supports CURVE security.
CZMQ_EXPORT bool
    zproc_has_curve (void);

//  *** Draft method, for development use, may change without warning ***
//  Return current host name, for use in public tcp:// endpoints.
//  If the host name is not resolvable, returns NULL.
//  Caller owns return value and must destroy it when done.
CZMQ_EXPORT char *
    zproc_hostname (void);

//  *** Draft method, for development use, may change without warning ***
//  Move the current process into the background. The precise effect
//  depends on the operating system. On POSIX boxes, moves to a specified
//  working directory (if specified), closes all file handles, reopens
//  stdin, stdout, and stderr to the null device, and sets the process to
//  ignore SIGHUP. On Windows, does nothing. Returns 0 if OK, -1 if there
//  was an error.
CZMQ_EXPORT void
    zproc_daemonize (const char *workdir);

//  *** Draft method, for development use, may change without warning ***
//  Drop the process ID into the lockfile, with exclusive lock, and
//  switch the process to the specified group and/or user. Any of the
//  arguments may be null, indicating a no-op. Returns 0 on success,
//  -1 on failure. Note if you combine this with zsys_daemonize, run
//  after, not before that method, or the lockfile will hold the wrong
//  process ID.
CZMQ_EXPORT void
    zproc_run_as (const char *lockfile, const char *group, const char *user);

//  *** Draft method, for development use, may change without warning ***
//  Configure the number of I/O threads that ZeroMQ will use. A good
//  rule of thumb is one thread per gigabit of traffic in or out. The
//  default is 1, sufficient for most applications. If the environment
//  variable ZSYS_IO_THREADS is defined, that provides the default.
//  Note that this method is valid only before any socket is created.
CZMQ_EXPORT void
    zproc_set_io_threads (size_t io_threads);

//  *** Draft method, for development use, may change without warning ***
//  Configure the number of sockets that ZeroMQ will allow. The default
//  is 1024. The actual limit depends on the system, and you can query it
//  by using zsys_socket_limit (). A value of zero means "maximum".
//  Note that this method is valid only before any socket is created.
CZMQ_EXPORT void
    zproc_set_max_sockets (size_t max_sockets);

//  *** Draft method, for development use, may change without warning ***
//  Set network interface name to use for broadcasts, particularly zbeacon.
//  This lets the interface be configured for test environments where required.
//  For example, on Mac OS X, zbeacon cannot bind to 255.255.255.255 which is
//  the default when there is no specified interface. If the environment
//  variable ZSYS_INTERFACE is set, use that as the default interface name.
//  Setting the interface to "*" means "use all available interfaces".
CZMQ_EXPORT void
    zproc_set_biface (const char *value);

//  *** Draft method, for development use, may change without warning ***
//  Return network interface to use for broadcasts, or "" if none was set.
CZMQ_EXPORT const char *
    zproc_biface (void);

//  *** Draft method, for development use, may change without warning ***
//  Set log identity, which is a string that prefixes all log messages sent
//  by this process. The log identity defaults to the environment variable
//  ZSYS_LOGIDENT, if that is set.
CZMQ_EXPORT void
    zproc_set_log_ident (const char *value);

//  *** Draft method, for development use, may change without warning ***
//  Sends log output to a PUB socket bound to the specified endpoint. To
//  collect such log output, create a SUB socket, subscribe to the traffic
//  you care about, and connect to the endpoint. Log traffic is sent as a
//  single string frame, in the same format as when sent to stdout. The
//  log system supports a single sender; multiple calls to this method will
//  bind the same sender to multiple endpoints. To disable the sender, call
//  this method with a null argument.
CZMQ_EXPORT void
    zproc_set_log_sender (const char *endpoint);

//  *** Draft method, for development use, may change without warning ***
//  Enable or disable logging to the system facility (syslog on POSIX boxes,
//  event log on Windows). By default this is disabled.
CZMQ_EXPORT void
    zproc_set_log_system (bool logsystem);

//  *** Draft method, for development use, may change without warning ***
//  Log error condition - highest priority
CZMQ_EXPORT void
    zproc_log_error (const char *format, ...) CHECK_PRINTF (1);

//  *** Draft method, for development use, may change without warning ***
//  Log warning condition - high priority
CZMQ_EXPORT void
    zproc_log_warning (const char *format, ...) CHECK_PRINTF (1);

//  *** Draft method, for development use, may change without warning ***
//  Log normal, but significant, condition - normal priority
CZMQ_EXPORT void
    zproc_log_notice (const char *format, ...) CHECK_PRINTF (1);

//  *** Draft method, for development use, may change without warning ***
//  Log informational message - low priority
CZMQ_EXPORT void
    zproc_log_info (const char *format, ...) CHECK_PRINTF (1);

//  *** Draft method, for development use, may change without warning ***
//  Log debug-level message - lowest priority
CZMQ_EXPORT void
    zproc_log_debug (const char *format, ...) CHECK_PRINTF (1);

//  *** Draft method, for development use, may change without warning ***
//  Self test of this class.
CZMQ_EXPORT void
    zproc_test (bool verbose);

#endif // CZMQ_BUILD_DRAFT_API
Please add '@interface' section in './../src/zproc.c'.

Description

zproc - process configuration and status

Please add @discuss section in ./../src/zproc.c.

Example

From zproc_test method

Please add '@selftest' section in './../src/zproc.c'.

Authors

The CZMQ manual was written by Pieter Hintjens<moc.xitami|hp#moc.xitami|hp>.

Resources

Main web site: http://czmq.zeromq.org/

Report bugs to the ØMQ development mailing list: <gro.qmorez.stsil|ved-qmorez#gro.qmorez.stsil|ved-qmorez>

Copyright

Copyright (c) 1991-2014 iMatix and Contributors. License LGPLv3+: GNU LGPL 3 or later <http://gnu.org/licenses/lgpl.html>. This is free software: you are free to change it and redistribute it. There is NO WARRANTY, to the extent permitted by law. For details see the files COPYING and COPYING.LESSER included with the CZMQ distribution.