GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  ZPROXY_V2 (3)

.ds Aq ’

NAME

zproxy_v2 - run a steerable proxy in the background (deprecated)

CONTENTS

SYNOPSIS

//  Constructor
//  Create a new zproxy object. You must create the frontend and backend
//  sockets, configure them, and connect or bind them, before you pass them
//  to the constructor. Do NOT use the sockets again, after passing them to
//  this method.
CZMQ_EXPORT zproxy_t *
    zproxy_new (zctx_t *ctx, void *frontend, void *backend);

// Destructor // Destroy a zproxy object; note this first stops the proxy. CZMQ_EXPORT void zproxy_destroy (zproxy_t **self_p);

// Copy all proxied messages to specified endpoint; if this is NULL, any // in-progress capturing will be stopped. You must already have bound the // endpoint to a PULL socket. CZMQ_EXPORT void zproxy_capture (zproxy_t *self, const char *endpoint);

// Pauses a zproxy object; a paused proxy will cease processing messages, // causing them to be queued up and potentially hit the high-water mark on // the frontend socket, causing messages to be dropped, or writing // applications to block. CZMQ_EXPORT void zproxy_pause (zproxy_t *self);

// Resume a zproxy object CZMQ_EXPORT void zproxy_resume (zproxy_t *self);

// Self test of this class CZMQ_EXPORT void zproxy_v2_test (bool verbose);

DESCRIPTION

The zproxy class provides an equivalent to the ZMQ steerable proxy, on all versions of ZeroMQ.

This class is deprecated in CZMQ v3; it works together with zctx, zsocket, and other deprecated V2 classes. New applications should use the V3 zproxy interface, based on zactor, together with the zsock class for sockets.

EXAMPLE

From zproxy_v2_test method.

zctx_t *ctx = zctx_new ();
assert (ctx);
void *frontend = zsocket_new (ctx, ZMQ_PULL);
assert (frontend);
int rc = zsocket_bind (frontend, "inproc://frontend");
assert (rc == 0);
void *backend = zsocket_new (ctx, ZMQ_PUSH);
assert (backend);
rc = zsocket_bind (backend, "inproc://backend");
assert (rc == 0);
zproxy_t *proxy = zproxy_new (ctx, frontend, backend);
assert (proxy);

// Connect application sockets to proxy void *faucet = zsocket_new (ctx, ZMQ_PUSH); assert (faucet); rc = zsocket_connect (faucet, "inproc://frontend"); assert (rc == 0); void *sink = zsocket_new (ctx, ZMQ_PULL); assert (sink); rc = zsocket_connect (sink, "inproc://backend"); assert (rc == 0);

// Send some messages and check they arrived zstr_send (faucet, "Hello"); char *string = zstr_recv (sink); assert (streq (string, "Hello")); zstr_free (&string);

// Check pause/resume functionality zproxy_pause (proxy); zstr_send (faucet, "World");

zproxy_resume (proxy); string = zstr_recv (sink); assert (streq (string, "World")); zstr_free (&string);

// Create capture socket, must be a PULL socket void *capture = zsocket_new (ctx, ZMQ_PULL); assert (capture); rc = zsocket_bind (capture, "inproc://capture"); assert (rc == 0);

// Switch on capturing, check that it works zproxy_capture (proxy, "inproc://capture"); zstr_send (faucet, "Hello");

string = zstr_recv (sink); assert (streq (string, "Hello")); zstr_free (&string);

string = zstr_recv (capture); assert (streq (string, "Hello")); zstr_free (&string); zproxy_destroy (&proxy); zctx_destroy (&ctx);

AUTHORS

The czmq manual was written by the authors in the AUTHORS file.

RESOURCES

Main web site: \m[blue] \m[]

Report bugs to the email <\m[blue]zeromq-dev@lists.zeromq.org\m[][1]>

COPYRIGHT

Copyright (c) 1991-2012 iMatix Corporation -- http://www.imatix.com Copyright other contributors as noted in the AUTHORS file. This file is part of CZMQ, the high-level C binding for 0MQ: http://czmq.zeromq.org This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. LICENSE included with the czmq distribution.

NOTES

1. zeromq-dev@lists.zeromq.org  mailto:zeromq-dev@lists.zeromq.org
Search for    or go to Top of page |  Section 3 |  Main Index


CZMQ 3&.0&.1 ZPROXY_V2 (3) 06/01/2015

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.