30 #ifndef __ZMQ_SOCKET_BASE_HPP_INCLUDED__ 31 #define __ZMQ_SOCKET_BASE_HPP_INCLUDED__ 76 uint32_t tid_,
int sid_);
86 int setsockopt (
int option_,
const void *optval_,
size_t optvallen_);
87 int getsockopt (
int option_,
void *optval_,
size_t *optvallen_);
88 int bind (
const char *addr_);
89 int connect (
const char *addr_);
103 int join (
const char *group);
104 int leave (
const char *group);
124 int monitor (
const char *endpoint_,
int events_);
145 bool subscribe_to_all_ =
false) = 0;
150 virtual int xsetsockopt (
int option_,
const void *optval_,
173 virtual int xjoin (
const char *group_);
174 virtual int xleave (
const char *group_);
180 void monitor_event (
int event_,
int value_,
const std::string& addr_);
183 void stop_monitor (
bool send_monitor_stopped_event_ =
true);
198 typedef std::multimap <std::string, pipe_t *>
inprocs_t;
221 int parse_uri (
const char *uri_, std::string &protocol_,
222 std::string &address_);
void pipe_terminated(pipe_t *pipe_)
int process_commands(int timeout_, bool throttle_)
virtual void xpipe_terminated(pipe_t *pipe_)=0
void event_accept_failed(const std::string &addr_, int err_)
virtual void xhiccuped(pipe_t *pipe_)
virtual void xattach_pipe(zmq::pipe_t *pipe_, bool subscribe_to_all_=false)=0
void monitor_event(int event_, int value_, const std::string &addr_)
int join(const char *group)
void write_activated(pipe_t *pipe_)
std::multimap< std::string, endpoint_pipe_t > endpoints_t
void start_reaping(poller_t *poller_)
int add_signaler(signaler_t *s)
virtual blob_t get_credential() const
int setsockopt(int option_, const void *optval_, size_t optvallen_)
void attach_pipe(zmq::pipe_t *pipe_, bool subscribe_to_all_=false)
void event_listening(const std::string &addr_, int fd_)
int bind(const char *addr_)
int term_endpoint(const char *addr_)
void event_connected(const std::string &addr_, int fd_)
const socket_base_t & operator=(const socket_base_t &)
virtual void xwrite_activated(pipe_t *pipe_)
signaler_t * reaper_signaler
virtual void xread_activated(pipe_t *pipe_)
void event_close_failed(const std::string &addr_, int fd_)
int check_protocol(const std::string &protocol_)
int getsockopt(int option_, void *optval_, size_t *optvallen_)
void event_connect_delayed(const std::string &addr_, int err_)
int send(zmq::msg_t *msg_, int flags_)
void stop_monitor(bool send_monitor_stopped_event_=true)
void update_pipe_options(int option_)
void zmq_free_event(void *data, void *hint)
std::basic_string< unsigned char > blob_t
int monitor(const char *endpoint_, int events_)
virtual int xleave(const char *group_)
void timer_event(int id_)
static socket_base_t * create(int type_, zmq::ctx_t *parent_, uint32_t tid_, int sid_)
void event_closed(const std::string &addr_, int fd_)
virtual int xsend(zmq::msg_t *msg_)
socket_base_t(zmq::ctx_t *parent_, uint32_t tid_, int sid_, bool thread_safe_=false)
void event_connect_retried(const std::string &addr_, int interval_)
void hiccuped(pipe_t *pipe_)
void extract_flags(msg_t *msg_)
void event_disconnected(const std::string &addr_, int fd_)
std::multimap< std::string, pipe_t * > inprocs_t
void event_bind_failed(const std::string &addr_, int err_)
void process_term(int linger_)
int remove_signaler(signaler_t *s)
std::pair< own_t *, pipe_t * > endpoint_pipe_t
void add_endpoint(const char *addr_, own_t *endpoint_, pipe_t *pipe)
int leave(const char *group)
virtual int xrecv(zmq::msg_t *msg_)
i_mailbox * get_mailbox()
std::string last_endpoint
void process_bind(zmq::pipe_t *pipe_)
poller_t::handle_t handle
int parse_uri(const char *uri_, std::string &protocol_, std::string &address_)
void event_accepted(const std::string &addr_, int fd_)
array_t< pipe_t, 3 > pipes_t
void read_activated(pipe_t *pipe_)
int recv(zmq::msg_t *msg_, int flags_)
virtual int xjoin(const char *group_)
int connect(const char *addr_)
virtual int xsetsockopt(int option_, const void *optval_, size_t optvallen_)