Skip to content

Commit b828afe

Browse files
author
Mathieu Benoit
committed
Private __jrpc_server_start, init call it now. Add option to pass ev_loop on init. Add static for internal function.
1 parent bc06eaf commit b828afe

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

example/server.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ cJSON * exit_server(jrpc_context * ctx, cJSON * params, cJSON *id) {
3434

3535
int main(void) {
3636
jrpc_server_init(&my_server, PORT);
37-
jrpc_server_start(&my_server);
3837
jrpc_register_procedure(&my_server, say_hello, "sayHello", NULL );
3938
jrpc_register_procedure(&my_server, exit_server, "exit", NULL );
4039
jrpc_server_run(&my_server);

include/jsonrpc-c.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,18 @@ struct jrpc_connection {
6565

6666
int jrpc_server_init(struct jrpc_server *server, int port_number);
6767

68-
int jrpc_server_start(struct jrpc_server *server);
68+
int jrpc_server_init_with_ev_loop(struct jrpc_server *server,
69+
int port_number, struct ev_loop *loop);
70+
71+
static int __jrpc_server_start(struct jrpc_server *server);
6972

7073
void jrpc_server_run(struct jrpc_server *server);
7174

7275
int jrpc_server_stop(struct jrpc_server *server);
7376

7477
void jrpc_server_destroy(struct jrpc_server *server);
7578

76-
void jrpc_procedure_destroy(struct jrpc_procedure *procedure);
79+
static void jrpc_procedure_destroy(struct jrpc_procedure *procedure);
7780

7881
int jrpc_register_procedure(struct jrpc_server *server,
7982
jrpc_function function_pointer, char *name, void *data);

src/jsonrpc-c.c

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,11 @@ static void accept_cb(struct ev_loop *loop, ev_io *w, int revents) {
238238

239239
int jrpc_server_init(struct jrpc_server *server, int port_number) {
240240
loop = EV_DEFAULT;
241+
return jrpc_server_init_with_ev_loop(server, port_number, loop);
242+
}
243+
244+
int jrpc_server_init_with_ev_loop(struct jrpc_server *server,
245+
int port_number, struct ev_loop *loop) {
241246
memset(server, 0, sizeof(struct jrpc_server));
242247
server->loop = loop;
243248
server->port_number = port_number;
@@ -248,10 +253,10 @@ int jrpc_server_init(struct jrpc_server *server, int port_number) {
248253
server->debug_level = strtol(debug_level_env, NULL, 10);
249254
printf("JSONRPC-C Debug level %d\n", server->debug_level);
250255
}
251-
return 0;
256+
return __jrpc_server_start(server);
252257
}
253258

254-
int jrpc_server_start(struct jrpc_server *server) {
259+
static int __jrpc_server_start(struct jrpc_server *server) {
255260
int sockfd;
256261
struct addrinfo hints, *servinfo, *p;
257262
int yes = 1;
@@ -329,7 +334,7 @@ void jrpc_server_destroy(struct jrpc_server *server){
329334
free(server->procedures);
330335
}
331336

332-
void jrpc_procedure_destroy(struct jrpc_procedure *procedure){
337+
static void jrpc_procedure_destroy(struct jrpc_procedure *procedure){
333338
if (procedure->name){
334339
free(procedure->name);
335340
procedure->name = NULL;

0 commit comments

Comments
 (0)