Sha256: 667c75795b8bc3b42e4162a864d8225a96c4de2d26a402cba4356b1952bc2b23

Contents?: true

Size: 767 Bytes

Versions: 4

Compression:

Stored size: 767 Bytes

Contents

#ifndef RBCZMQ_CONTEXT_H
#define RBCZMQ_CONTEXT_H

#define ZMQ_CONTEXT_DESTROYED 0x01

typedef struct {
    zctx_t *ctx;
    int flags;
} zmq_ctx_wrapper;

#define ZmqAssertContext(obj) ZmqAssertType(obj, rb_cZmqContext, "ZMQ::Context")
#define ZmqGetContext(obj) \
    zmq_ctx_wrapper *ctx = NULL; \
    ZmqAssertContext(obj); \
    Data_Get_Struct(obj, zmq_ctx_wrapper, ctx); \
    if (!ctx) rb_raise(rb_eTypeError, "uninitialized ZMQ context!"); \
    if (ctx->flags & ZMQ_CONTEXT_DESTROYED) rb_raise(rb_eZmqError, "ZMQ::Context instance %p has been destroyed by the ZMQ framework", (void *)obj);

struct nogvl_socket_args {
    zctx_t *ctx;
    int type;
};

VALUE rb_czmq_socket_alloc(VALUE context, zctx_t *ctx, void *s);

void _init_rb_czmq_context();

#endif

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rbczmq-1.7.1 ext/rbczmq/context.h
rbczmq-1.7.0 ext/rbczmq/context.h
rbczmq-1.6.4 ext/rbczmq/context.h
rbczmq-1.6.2 ext/rbczmq/context.h