mirror of
https://github.com/zeromq/libzmq.git
synced 2025-01-19 00:46:05 +01:00
setsockopt cleanup in pyzmq.cpp
This commit is contained in:
parent
7a5db6041f
commit
17800ac85e
@ -140,14 +140,29 @@ PyObject *socket_setsockopt (socket_t *self, PyObject *args, PyObject *kwdict)
|
||||
}
|
||||
|
||||
int rc;
|
||||
if (PyInt_Check (optval)) {
|
||||
int val = PyInt_AsLong (optval);
|
||||
rc = zmq_setsockopt (self->handle, option, &val, sizeof (int));
|
||||
}
|
||||
if (PyString_Check (optval))
|
||||
rc = zmq_setsockopt (self->handle, option, PyString_AsString (optval),
|
||||
PyString_Size (optval));
|
||||
else {
|
||||
|
||||
switch (option) {
|
||||
case ZMQ_HWM:
|
||||
case ZMQ_LWM:
|
||||
case ZMQ_SWAP:
|
||||
case ZMQ_AFFINITY:
|
||||
case ZMQ_RATE:
|
||||
case ZMQ_RECOVERY_IVL:
|
||||
case ZMQ_MCAST_LOOP:
|
||||
{
|
||||
int val = PyInt_AsLong (optval);
|
||||
rc = zmq_setsockopt (self->handle, option, &val, sizeof (int));
|
||||
break;
|
||||
}
|
||||
case ZMQ_IDENTITY:
|
||||
case ZMQ_SUBSCRIBE:
|
||||
case ZMQ_UNSUBSCRIBE:
|
||||
|
||||
rc = zmq_setsockopt (self->handle, option, PyString_AsString (optval),
|
||||
PyString_Size (optval));
|
||||
break;
|
||||
|
||||
default:
|
||||
rc = -1;
|
||||
errno = EINVAL;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user