Commit 31ac490a authored by mayankkakad's avatar mayankkakad

server adding, updating fingertables done (errors resolved)

parent 26eb00cd
...@@ -72,9 +72,37 @@ public: ...@@ -72,9 +72,37 @@ public:
getAddressResponder.Finish(info,Status::OK,this); getAddressResponder.Finish(info,Status::OK,this);
} }
else if(reqType==ADDADDRESS){ else if(reqType==ADDADDRESS){
ifstream fin;
fin.open(SERVERS);
int size=0;
map<int,string> svs;
do {
string temp;
getline(fin,temp);
if(temp.size()==0)
break;
svs[size++]=temp;
} while(fin);
fin.close();
string addresses[size+1];
int count=0;
string addtoadd=info.address();
int porttoadd=stoi(addtoadd.substr(addtoadd.find(':')+1));
bool flag=false;
for(int i=0;i<size;i++) {
int curr_port=stoi(svs[i].substr(svs[i].find(':')+1));
if(porttoadd<curr_port&&flag==false) {
addresses[count++]=addtoadd;
flag=true;
}
addresses[count++]=svs[i];
}
if(flag==false)
addresses[count++]=addtoadd;
ofstream fout; ofstream fout;
fout.open(SERVERS,ios::app); fout.open(SERVERS);
fout<<info.address()<<endl; for(int i=0;i<count;i++)
fout<<addresses[i]<<endl;
fout.close(); fout.close();
null.set_nothing(0); null.set_nothing(0);
cout<<info.address()<<endl; cout<<info.address()<<endl;
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment