|
MASA-Core
|
00001 /******************************************************************************* 00002 * 00003 * Copyright (c) 2010-2015 Edans Sandes 00004 * 00005 * This file is part of MASA-Core. 00006 * 00007 * MASA-Core is free software: you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation, either version 3 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * MASA-Core is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with MASA-Core. If not, see <http://www.gnu.org/licenses/>. 00019 * 00020 ******************************************************************************/ 00021 00022 #include "CmdTestRing.hpp" 00023 00024 CmdTestRing::CmdTestRing() { 00025 00026 } 00027 00028 CmdTestRing::CmdTestRing(string originatorId) { 00029 this->originatorId = originatorId; 00030 } 00031 00032 CmdTestRing::~CmdTestRing() { 00033 } 00034 00035 Command* CmdTestRing::creator() { 00036 return new CmdTestRing(); 00037 } 00038 00039 int CmdTestRing::getId() { 00040 return COMMAND_TEST_RING; 00041 } 00042 00043 void CmdTestRing::send(Peer* socket) { 00044 socket->send_vls8(originatorId); 00045 socket->send_int16(ids.size()); 00046 for (std::set<string>::iterator it=ids.begin(); it!=ids.end(); ++it) { 00047 printf("-----> %s\n", (*it).c_str()); 00048 socket->send_vls8(*it); 00049 } 00050 } 00051 00052 void CmdTestRing::receive(Peer* socket) { 00053 originatorId = socket->recv_vls8(); 00054 int len = socket->recv_int16(); 00055 for (int i=0; i<len; i++) { 00056 string remoteId = socket->recv_vls8(); 00057 ids.insert(remoteId); 00058 printf("<----- %s\n", remoteId.c_str()); 00059 } 00060 } 00061 00062 const set<string>& CmdTestRing::getIds() const { 00063 return ids; 00064 } 00065 00066 void CmdTestRing::addId(string id) { 00067 ids.insert(id); 00068 } 00069 00070 bool CmdTestRing::containsId(string id) { 00071 return ids.find(id) != ids.end(); 00072 } 00073 00074 const string& CmdTestRing::getOriginatorId() const { 00075 return originatorId; 00076 } 00077 00078 void CmdTestRing::setOriginatorId(const string& originatorId) { 00079 this->originatorId = originatorId; 00080 }
1.7.6.1