1 #include <../../nrnconf.h>
17 static int bbs_poll_cnt_;
18 static int bbs_msg_cnt_;
38 printf(
"bbs_msg_cnt_=%d bbs_poll_cnt_=%d bbs_poll_=%d\n",
48 nrnmpi_probe(&size, &tag, &source);
56 if (nrnmpi_iprobe(&size, &tag, &source) != 0) {
59 }
while (nrnmpi_iprobe(&size, &tag, &source) != 0);
69 recv = nrnmpi_newbuf(size);
71 tag = nrnmpi_bbsrecv(cid, recv);
74 nrnmpi_upkbegin(recv);
78 index = nrnmpi_getid(recv);
85 index = nrnmpi_getid(recv);
92 key = nrnmpi_getkey(recv);
99 key = nrnmpi_getkey(recv);
111 key = nrnmpi_getkey(recv);
117 printf(
"handle sending back something\n");
126 key = nrnmpi_getkey(recv);
132 printf(
"handle sending back something\n");
138 printf(
"handle put_pending %s for %d\n",
key, cid);
145 printf(
"handle LOOK_TAKE_TODO for cid=%x\n", cid);
157 index = nrnmpi_getid(recv);
159 printf(
"handle LOOK_TAKE_RESULT for %x pid=%d\n", cid,
index);
172 printf(
"handle TAKE_TODO for %x\n", cid);
176 printf(
"handle sent back a context\n");
189 printf(
"handle add_looking_todo\n");
198 nrnmpi_pkbegin(recv);
199 nrnmpi_enddata(recv);
200 nrnmpi_bbssend(cid,
HELLO, recv);
203 printf(
"unknown message\n");
int look_take_result(int parentid)
void add_looking_todo(int cid)
bool look(const char *key)
bool look_take(const char *key)
void post_todo(int parentid, int cid)
void post(const char *key)
void put_pending(const char *key, int cid)
static BBSDirectServer * server_
bool send_context(int cid)
int remaining_context_cnt_
static void handle_block()
void send(const char *url)