Commit 86cc9090 authored by Bhavesh Yadav's avatar Bhavesh Yadav

Added printfinger

parent c059ec87
kvserver: kvserver.o threadPool.o KVCache.o parsexml.o kvstore.o utils.o chord.o
gcc -o kvserver kvserver.o threadPool.o KVCache.o parsexml.o kvstore.o chord.o utils.o -pthread -lcrypto
gcc -o kvserver kvserver.o threadPool.o KVCache.o parsexml.o kvstore.o chord.o utils.o -pthread -lcrypto -lm
kvserver.o: kvserver.c threadPool.h KVCache.h kvstore.h
gcc -c kvserver.c
......
......@@ -101,7 +101,6 @@ void sendUDPToNode(char* msg,Node node, bool recvResponse, char* buffer) {
void initChordStructure(struct sockaddr_in *joinNode,sockaddr_t socketAddrServer){
chord.fingerTable = (Node *) malloc(log(MAXLOCATIONS)*sizeof(Node));
chord.node.socketAddr = socketAddrServer;
// printf("%s",inet_ntoa(chord.node.socketAddr.sin_addr));
chord.node.nodeId = nodeToId(&chord.node.socketAddr);
......@@ -116,14 +115,15 @@ void initChordStructure(struct sockaddr_in *joinNode,sockaddr_t socketAddrServer
// Listen for reply
// update successor
}
fixFingers();
printFingerTable();
}
Node closestPreceedingNode(int id){
int m= log(MAXLOCATIONS);
Node* f=chord.fingerTable;
Node* f=chord.fingerTable[0];
for (int i = m-1; i >=0; i--)
{
int nextId = f[m].nodeId;
......@@ -176,9 +176,26 @@ Node findSuccessor(int id, bool fixFinger){
// sendUDP(msg,chord.successorIp,chord.successorPort,true,buffer);
// }
// void fixFingers(){
// chord.fingerTable =
// }
void fixFingers(){
for(int i = 0; i<3; i++) {
Node *newNode = (Node *)malloc(sizeof(Node));
getSocketFromIpAndPort("127.0.0.1",1230+i,&newNode->socketAddr);
newNode->nodeId = nodeToId(&newNode->socketAddr);
chord.fingerTable[i] = newNode;
}
}
void printFingerTable() {
printf("Entry\tID\n");
for(int i = 0; i<16; i++) {
int j = pow(2,i);
if(chord.fingerTable[i] == NULL)
continue;
Node curNode = *(chord.fingerTable[i]);
printf("N+%d\t%d\n",j,curNode.nodeId);
}
}
// int main() {
// initChordStructure(NULL);
// findSuccessor(123,true);
......
......@@ -16,12 +16,14 @@ typedef struct Chord
Node node;
Node successor;
Node predecessor;
Node *fingerTable;
Node *fingerTable[16];
}Chord;
Chord chord;
void sendPredecessor();
void fixFingers();
void printFingerTable();
int keyToId(char * key);
void initChordStructure(struct sockaddr_in *joinNode, struct sockaddr_in sockAddrServer);
Node findSuccessor(int id, bool fixFinger);
\ No newline at end of file
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