Skip to content

Commit ef43f19

Browse files
committed
user: add send_dump and send_dump_all function
1 parent 6d07725 commit ef43f19

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

src/cli/user.c

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,29 @@ void send_read(void *data, unsigned short leader) {
8787
free(m);
8888
}
8989

90+
void send_dump(void *data, unsigned short leader) {
91+
MPI_Request r;
92+
// MPI_Status st;
93+
struct data_address *d_a = data;
94+
struct message *m = generate_message(DEF_NODE_USER, leader, DEF_NODE_LEADER,
95+
d_a->address, 0, OP_DUMP);
96+
97+
MPI_Isend((void *) m, sizeof(struct message), MPI_BYTE, m->id_t, 0, MPI_COMM_WORLD, &r);
98+
99+
free(m);
100+
}
101+
102+
void send_dump_all(unsigned short leader) {
103+
MPI_Request r;
104+
// MPI_Status st;
105+
struct message *m = generate_message(DEF_NODE_USER, leader, DEF_NODE_LEADER,
106+
0, 0, OP_DUMP_ALL);
107+
108+
MPI_Isend((void *) m, sizeof(struct message), MPI_BYTE, m->id_t, 0, MPI_COMM_WORLD, &r);
109+
110+
free(m);
111+
}
112+
90113
void send_command(enum operation op, void *data, unsigned short leader) {
91114
switch (op) {
92115
case OP_OK:
@@ -103,6 +126,14 @@ void send_command(enum operation op, void *data, unsigned short leader) {
103126
debug("Send Read", 0);
104127
send_read(data, leader);
105128
break;
129+
case OP_DUMP:
130+
debug("Send Dump", 0);
131+
send_dump(data, leader);
132+
break;
133+
case OP_DUMP_ALL:
134+
debug("Send Dump All", 0);
135+
send_dump_all(leader);
136+
break;
106137
default:
107138
break;
108139
}

0 commit comments

Comments
 (0)