~ubuntu-branches/ubuntu/precise/pyzmq/precise

« back to all changes in this revision

Viewing changes to zmq/devices/monitoredqueue.pxd

  • Committer: Package Import Robot
  • Author(s): Julian Taylor, Julian Taylor
  • Date: 2012-02-19 14:53:20 UTC
  • mfrom: (1.1.6)
  • mto: This revision was merged to the branch mainline in revision 9.
  • Revision ID: package-import@ubuntu.com-20120219145320-u8un3j0q1e82dx01
[ Julian Taylor ]
* New upstream release (Closes: #655793)
* added myself to Uploaders
* properly clean to allow building twice in a row
* ignore testsuite result due to random failures on armel and mips
  probably caused by libzmq or toolchain
* add Python3 to short description of py3 packages
* wrap-and-sort debian/
* add python-nose to build depends to get better test result output
* add python-numpy to build depends to get more tests
* use githubredir.debian.net in debian/watch

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
cdef inline int _relay(void *insocket_, void *outsocket_, void *sidesocket_, 
39
39
                zmq_msg_t msg, zmq_msg_t side_msg, zmq_msg_t id_msg,
40
40
                bint swap_ids) nogil:
41
 
    cdef int SNDLABEL
42
41
    cdef int rc
43
42
    cdef int64_t flag_2
44
43
    cdef int flag_3
50
49
    if ZMQ_VERSION_MAJOR < 3:
51
50
        flagsz = sizeof (int64_t)
52
51
        flag_ptr = &flag_2
53
 
        SNDLABEL = ZMQ_SNDMORE
54
52
    else:
55
53
        flagsz = sizeof (int)
56
54
        flag_ptr = &flag_3
57
 
        SNDLABEL = ZMQ_SNDLABEL
58
 
        if ZMQ_VERSION_MAJOR == 3:
59
 
            # in 3.x, ROUTER prefix is 2.x-style with SNDMORE, rather than
60
 
            # new-style with SNDLABEL
61
 
            rc = zmq_getsockopt (outsocket_, ZMQ_TYPE, flag_ptr, &flagsz)
62
 
            # This will never actually happen until LIBZMQ-249 is resolved:
63
 
            if flag_3 == ZMQ_ROUTER:
64
 
                SNDLABEL = ZMQ_SNDMORE
65
55
    
66
 
    if rc < 0:
67
 
        return rc
68
56
    if swap_ids:# both router, must send second identity first
69
57
        # recv two ids into msg, id_msg
70
58
        rc = zmq_recvmsg (insocket_, &msg, 0)
71
 
        if ZMQ_VERSION_MAJOR == 3:
72
 
            # temporary workaround for LIBZMQ-249
73
 
            rc = zmq_getsockopt (outsocket_, ZMQ_RCVLABEL, flag_ptr, &flagsz)
74
 
            if flag_3:
75
 
                SNDLABEL = ZMQ_SNDLABEL
76
 
            else:
77
 
                SNDLABEL = ZMQ_SNDMORE
78
59
        rc = zmq_recvmsg (insocket_, &id_msg, 0)
79
60
 
80
61
        # send second id (id_msg) first
81
62
        #!!!! always send a copy before the original !!!!
82
63
        rc = zmq_msg_copy(&side_msg, &id_msg)
83
 
        rc = zmq_sendmsg (outsocket_, &side_msg, SNDLABEL)
 
64
        rc = zmq_sendmsg (outsocket_, &side_msg, ZMQ_SNDMORE)
84
65
        rc = zmq_sendmsg (sidesocket_, &id_msg, ZMQ_SNDMORE)
85
66
        # send first id (msg) second
86
67
        rc = zmq_msg_copy(&side_msg, &msg)
87
 
        rc = zmq_sendmsg (outsocket_, &side_msg, SNDLABEL)
 
68
        rc = zmq_sendmsg (outsocket_, &side_msg, ZMQ_SNDMORE)
88
69
        rc = zmq_sendmsg (sidesocket_, &msg, ZMQ_SNDMORE)
89
70
        if rc < 0:
90
71
            return rc
99
80
        else:
100
81
            if flag_3:
101
82
                flags |= ZMQ_SNDMORE
102
 
            rc = zmq_getsockopt (insocket_, ZMQ_RCVLABEL, flag_ptr, &flagsz)
103
 
            if flag_3:
104
 
                flags |= ZMQ_SNDLABEL
 
83
            # LABEL has been removed:
 
84
            # rc = zmq_getsockopt (insocket_, ZMQ_RCVLABEL, flag_ptr, &flagsz)
 
85
            # if flag_3:
 
86
            #     flags |= ZMQ_SNDLABEL
105
87
        # assert (rc == 0)
106
88
 
107
89
        rc = zmq_msg_copy(&side_msg, &msg)