Beispiel #1
0
int nn_xbus_add (struct nn_sockbase *self, struct nn_pipe *pipe)
{
    struct nn_xbus *xbus;
    struct nn_xbus_data *data;

    xbus = nn_cont (self, struct nn_xbus, sockbase);

    data = nn_alloc (sizeof (struct nn_xbus_data),
        "pipe data (xbus)");
    alloc_assert (data);
    nn_fq_add (&xbus->inpipes, pipe, &data->initem, 8);
    nn_dist_add (&xbus->outpipes, pipe, &data->outitem);
    nn_pipe_setdata (pipe, data);

    return 0;
}
Beispiel #2
0
int nn_xsurveyor_add (struct nn_sockbase *self, struct nn_pipe *pipe)
{
    struct nn_xsurveyor *xsurveyor;
    struct nn_xsurveyor_data *data;

    xsurveyor = nn_cont (self, struct nn_xsurveyor, sockbase);

    data = nn_alloc (sizeof (struct nn_xsurveyor_data),
        "pipe data (xsurveyor)");
    alloc_assert (data);
    data->pipe = pipe;
    nn_fq_add (&xsurveyor->inpipes, pipe, &data->initem, 8);
    nn_dist_add (&xsurveyor->outpipes, pipe, &data->outitem);
    nn_pipe_setdata (pipe, data);

    return 0;
}
Beispiel #3
0
int nn_xsurveyor_add (struct nn_sockbase *self, struct nn_pipe *pipe)
{
    struct nn_xsurveyor *xsurveyor;
    struct nn_xsurveyor_data *data;
    int rcvprio;
    size_t sz;

    xsurveyor = nn_cont (self, struct nn_xsurveyor, sockbase);

    sz = sizeof (rcvprio);
    nn_pipe_getopt (pipe, NN_SOL_SOCKET, NN_RCVPRIO, &rcvprio, &sz);
    nn_assert (sz == sizeof (rcvprio));
    nn_assert (rcvprio >= 1 && rcvprio <= 16);

    data = nn_alloc (sizeof (struct nn_xsurveyor_data),
        "pipe data (xsurveyor)");
    alloc_assert (data);
    data->pipe = pipe;
    nn_fq_add (&xsurveyor->inpipes, &data->initem, pipe, rcvprio);
    nn_dist_add (&xsurveyor->outpipes, &data->outitem, pipe);
    nn_pipe_setdata (pipe, data);

    return 0;
}