int main(){ char linha[100]; if(fork() == 0){ int kv = kv_connect("127.0.0.1", 9999); printf("CLIENT 0 connected to data-server\n"); fflush(stdout); for (uint32_t i = 0; i < MAX_VALUES; i +=2){ sprintf(linha, "%u", i); printf("CLIENT 0 writing key %d with value %s\n", i, linha); fflush(stdout); kv_write(kv, i , linha, strlen(linha)+1, 0); } printf("reading values\n"); for (uint32_t i = 0; i < MAX_VALUES; i ++){ if(kv_read(kv, i , linha, 100) == 0){ printf ("key - %10u value %s\n", i, linha); }else { printf("key - %10u does not exist in dictionary\n", i); } } kv_close(kv); }else{ int kv = kv_connect("127.0.0.1", 9999); printf("CLIENT 1 connected to data-server\n"); fflush(stdout); printf("reading values\n"); for (uint32_t i = 0; i < MAX_VALUES; i ++){ if(kv_read(kv, i , linha, 100) == 0){ printf ("key - %10u value %s\n", i, linha); }else { printf("key - %10u does not exist in dictionary\n", i); } } printf("writing values\n"); for (uint32_t i = 1; i < MAX_VALUES; i +=2){ sprintf(linha, "%u", i); printf("CLIENT 1 writing key %d with value %s\n", i, linha); fflush(stdout); kv_write(kv, i , linha, strlen(linha)+1, 0); } printf("press enter to delete even values\n"); for (uint32_t i = 0; i < MAX_VALUES; i +=2){ printf("deleting key %d\n", i); kv_delete(kv, i); } kv_close(kv); } }
int main(){ char read_val[MAX_BUFFER]; int ret; printf("Connecting to server\n"); int kv_descriptor = kv_connect("127.0.0.1",9998); // This descriptor is what the API will use from now on ret = kv_write(kv_descriptor, 1, "a", (strlen("a") + 1) * sizeof(char), 0); printf("kv_write returned %d \n", ret); ret = kv_write(kv_descriptor, 2, "ab", (strlen("ab") + 1) * sizeof(char), 0); printf("kv_write returned %d \n", ret); ret = kv_write(kv_descriptor, 3, "abc", (strlen("abc") + 1) * sizeof(char), 0); printf("kv_write returned %d \n", ret); ret = kv_delete(kv_descriptor, 2); printf("kv_delete returned %d \n", ret); printf("Reading from server\n"); kv_read(kv_descriptor, 3, read_val, MAX_BUFFER); printf("Closing connection to server\n"); kv_close(kv_descriptor); exit(0); }