![]() |
libzmq master
The Intelligent Transport Layer
|
00001 /* 00002 Copyright (c) 2009-2011 250bpm s.r.o. 00003 Copyright (c) 2007-2010 iMatix Corporation 00004 Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file 00005 00006 This file is part of 0MQ. 00007 00008 0MQ is free software; you can redistribute it and/or modify it under 00009 the terms of the GNU Lesser General Public License as published by 00010 the Free Software Foundation; either version 3 of the License, or 00011 (at your option) any later version. 00012 00013 0MQ is distributed in the hope that it will be useful, 00014 but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 GNU Lesser General Public License for more details. 00017 00018 You should have received a copy of the GNU Lesser General Public License 00019 along with this program. If not, see <http://www.gnu.org/licenses/>. 00020 */ 00021 00022 #include "pull.hpp" 00023 #include "err.hpp" 00024 #include "msg.hpp" 00025 #include "pipe.hpp" 00026 00027 zmq::pull_t::pull_t (class ctx_t *parent_, uint32_t tid_) : 00028 socket_base_t (parent_, tid_) 00029 { 00030 options.type = ZMQ_PULL; 00031 } 00032 00033 zmq::pull_t::~pull_t () 00034 { 00035 } 00036 00037 void zmq::pull_t::xattach_pipe (pipe_t *pipe_) 00038 { 00039 zmq_assert (pipe_); 00040 fq.attach (pipe_); 00041 } 00042 00043 void zmq::pull_t::xread_activated (pipe_t *pipe_) 00044 { 00045 fq.activated (pipe_); 00046 } 00047 00048 void zmq::pull_t::xterminated (pipe_t *pipe_) 00049 { 00050 fq.terminated (pipe_); 00051 } 00052 00053 int zmq::pull_t::xrecv (msg_t *msg_, int flags_) 00054 { 00055 return fq.recv (msg_, flags_); 00056 } 00057 00058 bool zmq::pull_t::xhas_in () 00059 { 00060 return fq.has_in (); 00061 } 00062 00063 zmq::pull_session_t::pull_session_t (io_thread_t *io_thread_, bool connect_, 00064 socket_base_t *socket_, const options_t &options_, 00065 const char *protocol_, const char *address_) : 00066 session_base_t (io_thread_, connect_, socket_, options_, protocol_, 00067 address_) 00068 { 00069 } 00070 00071 zmq::pull_session_t::~pull_session_t () 00072 { 00073 } 00074