Skip to content

Commit 99a86f0

Browse files
committed
Add information about mrc_flush_loop
1 parent 6aa1d79 commit 99a86f0

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

README.md

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ MessagePack-RPC for C
22
=======================
33

44
C wrapper of MessagePack-RPC for C+
5+
56
## Motive
67

78
Call client methods of MessagePack-RPC for C++ from C application.
@@ -35,20 +36,30 @@ And types of all arguments of mrc_notify() are limited to char* too.
3536

3637
Because type check of argument values is make complex the API of methods.
3738

38-
const char* mrc_call(char* NAME_OF_METHOD, char* argv1, char* argv2, ....);
39-
void mrc_notify(char* NAME_OF_METHOD, char* argv1, char* argv2, ....);
39+
const char* mrc_call(mrclient* client, char* NAME_OF_METHOD, char* argv1, char* argv2, ....);
40+
void mrc_notify(mrclient* client, char* NAME_OF_METHOD, char* argv1, char* argv2, ....);
4041

4142
If you want to use the type expect the char*, you should formatted value(JSON, YAML...) as first argument.
4243

43-
const char* mrc_call(char* NAME_OF_METHOD, char* JSON_FORMAT_VALUE);
44+
const char* mrc_call(mrclient* client, char* NAME_OF_METHOD, char* JSON_FORMAT_VALUE);
4445

4546
Finaly, the number of arguments of methods(call(), notify()) after NAME_OF_METHOD is limited to value from 0 to 16.
4647

4748
It is same as API of MessagePack-RPC for C++.
4849

49-
OK : mrc_call(char* NAME_OF_METHOD);
50-
OK : mrc_call(char* NAME_OF_METHOD, char* argv1, ..., char* argv16);
51-
NG : mrc_call(char* NAME_OF_METHOD, char* argv1, ..., char* argv17);
50+
OK : mrc_call(mrclient* client, char* NAME_OF_METHOD);
51+
OK : mrc_call(mrclient* client, char* NAME_OF_METHOD, char* argv1, ..., char* argv16);
52+
NG : mrc_call(mrclient* client, char* NAME_OF_METHOD, char* argv1, ..., char* argv17);
53+
54+
When you call mrc_notify(), it's better to call mrc_flush_loop() after processing to call all mrc_notify() lines.
55+
56+
mrc_flush_loop() flush implicitly the notify requests which are buffered in msgpack::rpc::loop.
57+
58+
mrc_notify(mrclient* client, char* NAME_OF_METHOD, ....);
59+
mrc_notify(mrclient* client, char* NAME_OF_METHOD, ....);
60+
...
61+
mrc_notify(mrclient* client, char* NAME_OF_METHOD, ....);
62+
mrc_flush_loop(mrclient* client);
5263

5364
## Before installation
5465

0 commit comments

Comments
 (0)