diff options
Diffstat (limited to 'src/mtrie.hpp')
-rw-r--r-- | src/mtrie.hpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/mtrie.hpp b/src/mtrie.hpp index 11ef940..9018d8f 100644 --- a/src/mtrie.hpp +++ b/src/mtrie.hpp @@ -1,15 +1,15 @@ /* - Copyright (c) 2011 250bpm s.r.o. + Copyright (c) 2011-2012 250bpm s.r.o. Copyright (c) 2011 Other contributors as noted in the AUTHORS file - This file is part of 0MQ. + This file is part of Crossroads project. - 0MQ is free software; you can redistribute it and/or modify it under + Crossroads is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. - 0MQ is distributed in the hope that it will be useful, + Crossroads is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. @@ -18,15 +18,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef __ZMQ_MTRIE_HPP_INCLUDED__ -#define __ZMQ_MTRIE_HPP_INCLUDED__ +#ifndef __XS_MTRIE_HPP_INCLUDED__ +#define __XS_MTRIE_HPP_INCLUDED__ #include <stddef.h> #include <set> #include "stdint.hpp" -namespace zmq +namespace xs { class pipe_t; @@ -42,35 +42,35 @@ namespace zmq // Add key to the trie. Returns true if it's a new subscription // rather than a duplicate. - bool add (unsigned char *prefix_, size_t size_, zmq::pipe_t *pipe_); + bool add (unsigned char *prefix_, size_t size_, xs::pipe_t *pipe_); // Remove all subscriptions for a specific peer from the trie. // If there are no subscriptions left on some topics, invoke the // supplied callback function. - void rm (zmq::pipe_t *pipe_, + void rm (xs::pipe_t *pipe_, void (*func_) (unsigned char *data_, size_t size_, void *arg_), void *arg_); // Remove specific subscription from the trie. Return true is it was // actually removed rather than de-duplicated. - bool rm (unsigned char *prefix_, size_t size_, zmq::pipe_t *pipe_); + bool rm (unsigned char *prefix_, size_t size_, xs::pipe_t *pipe_); // Signal all the matching pipes. void match (unsigned char *data_, size_t size_, - void (*func_) (zmq::pipe_t *pipe_, void *arg_), void *arg_); + void (*func_) (xs::pipe_t *pipe_, void *arg_), void *arg_); private: bool add_helper (unsigned char *prefix_, size_t size_, - zmq::pipe_t *pipe_); - void rm_helper (zmq::pipe_t *pipe_, unsigned char **buff_, + xs::pipe_t *pipe_); + void rm_helper (xs::pipe_t *pipe_, unsigned char **buff_, size_t buffsize_, size_t maxbuffsize_, void (*func_) (unsigned char *data_, size_t size_, void *arg_), void *arg_); bool rm_helper (unsigned char *prefix_, size_t size_, - zmq::pipe_t *pipe_); + xs::pipe_t *pipe_); - typedef std::set <zmq::pipe_t*> pipes_t; + typedef std::set <xs::pipe_t*> pipes_t; pipes_t pipes; unsigned char min; |