ScribeGroup.cc

Go to the documentation of this file.
00001 //
00002 // Copyright (C) 2006 Institut fuer Telematik, Universitaet Karlsruhe (TH)
00003 //
00004 // This program is free software; you can redistribute it and/or
00005 // modify it under the terms of the GNU General Public License
00006 // as published by the Free Software Foundation; either version 2
00007 // of the License, or (at your option) any later version.
00008 //
00009 // This program is distributed in the hope that it will be useful,
00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012 // GNU General Public License for more details.
00013 //
00014 // You should have received a copy of the GNU General Public License
00015 // along with this program; if not, write to the Free Software
00016 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00017 //
00018 
00026 #include "ScribeGroup.h"
00027 
00028 
00029 ScribeGroup::ScribeGroup( OverlayKey id ) : groupId(id)
00030 {
00031     parent = NodeHandle::UNSPECIFIED_NODE;
00032     rendezvousPoint = NodeHandle::UNSPECIFIED_NODE;
00033     subscription = false;
00034     amISource = false;
00035     parentTimer = NULL;
00036     heartbeatTimer = NULL;
00037 }
00038 
00039 ScribeGroup::~ScribeGroup( )
00040 {
00041     children.clear();
00042 }
00043 
00044 bool ScribeGroup::isForwarder() const
00045 {
00046     return !children.empty();
00047 }
00048 
00049 std::pair<std::set<NodeHandle>::iterator, bool> ScribeGroup::addChild( const NodeHandle& node )
00050 {
00051     return children.insert(node);
00052 }
00053 
00054 void ScribeGroup::removeChild( const NodeHandle& node )
00055 {
00056     children.erase(node);
00057 }
00058 
00059 
00060 std::set<NodeHandle>::iterator ScribeGroup::getChildrenBegin()
00061 {
00062     return children.begin();
00063 }
00064 
00065 std::set<NodeHandle>::iterator ScribeGroup::getChildrenEnd()
00066 {
00067     return children.end();
00068 }
00069 
Generated on Wed May 26 16:21:15 2010 for OverSim by  doxygen 1.6.3