~ubuntu-branches/ubuntu/precise/zeromq/precise

« back to all changes in this revision

Viewing changes to src/pull.hpp

  • Committer: Bazaar Package Importer
  • Author(s): Martin Lucina
  • Date: 2011-05-13 12:43:09 UTC
  • mfrom: (7.2.1 sid)
  • Revision ID: james.westby@ubuntu.com-20110513124309-m3gdt964ga67rcwu
Tags: 2.1.7-1
* New upstream version. (closes: #619374)
* --with-system-pgm is now used instead of the embedded OpenPGM library. 
* Added Debian watch file.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
    Copyright (c) 2007-2010 iMatix Corporation
 
2
    Copyright (c) 2007-2011 iMatix Corporation
 
3
    Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
3
4
 
4
5
    This file is part of 0MQ.
5
6
 
6
7
    0MQ is free software; you can redistribute it and/or modify it under
7
 
    the terms of the Lesser GNU General Public License as published by
 
8
    the terms of the GNU Lesser General Public License as published by
8
9
    the Free Software Foundation; either version 3 of the License, or
9
10
    (at your option) any later version.
10
11
 
11
12
    0MQ is distributed in the hope that it will be useful,
12
13
    but WITHOUT ANY WARRANTY; without even the implied warranty of
13
14
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 
    Lesser GNU General Public License for more details.
 
15
    GNU Lesser General Public License for more details.
15
16
 
16
 
    You should have received a copy of the Lesser GNU General Public License
 
17
    You should have received a copy of the GNU Lesser General Public License
17
18
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
19
*/
19
20
 
30
31
    {
31
32
    public:
32
33
 
33
 
        pull_t (class app_thread_t *parent_);
 
34
        pull_t (class ctx_t *parent_, uint32_t tid_);
34
35
        ~pull_t ();
35
36
 
 
37
    protected:
 
38
 
36
39
        //  Overloads of functions from socket_base_t.
37
40
        void xattach_pipes (class reader_t *inpipe_, class writer_t *outpipe_,
38
41
            const blob_t &peer_identity_);
39
 
        void xdetach_inpipe (class reader_t *pipe_);
40
 
        void xdetach_outpipe (class writer_t *pipe_);
41
 
        void xkill (class reader_t *pipe_);
42
 
        void xrevive (class reader_t *pipe_);
43
 
        void xrevive (class writer_t *pipe_);
44
 
        int xsetsockopt (int option_, const void *optval_, size_t optvallen_);
45
 
        int xsend (zmq_msg_t *msg_, int flags_);
46
42
        int xrecv (zmq_msg_t *msg_, int flags_);
47
43
        bool xhas_in ();
48
 
        bool xhas_out ();
49
44
 
50
45
    private:
51
46
 
 
47
        //  Hook into the termination process.
 
48
        void process_term (int linger_);
 
49
 
52
50
        //  Fair queueing object for inbound pipes.
53
51
        fq_t fq;
54
52
 
55
53
        pull_t (const pull_t&);
56
 
        void operator = (const pull_t&);
 
54
        const pull_t &operator = (const pull_t&);
57
55
 
58
56
    };
59
57