49 #include "../ucx/map.h" |
49 #include "../ucx/map.h" |
50 #include "httplistener.h" |
50 #include "httplistener.h" |
51 |
51 |
52 #include "session.h" |
52 #include "session.h" |
53 #include "configmanager.h" |
53 #include "configmanager.h" |
|
54 #include "log.h" |
54 |
55 |
55 UcxMap *listener_map = NULL; |
56 UcxMap *listener_map = NULL; |
56 |
57 |
57 int start_all_listener() { |
58 int start_all_listener() { |
58 ServerConfiguration *conf = cfgmgr_get_server_config(); |
59 ServerConfiguration *conf = cfgmgr_get_server_config(); |
79 |
80 |
80 HttpListener *listener = malloc(sizeof(HttpListener)); |
81 HttpListener *listener = malloc(sizeof(HttpListener)); |
81 listener->name = conf->name; |
82 listener->name = conf->name; |
82 listener->session_handler = create_basic_session_handler(); |
83 listener->session_handler = create_basic_session_handler(); |
83 listener->nacceptors = conf->nacceptors; |
84 listener->nacceptors = conf->nacceptors; |
|
85 listener->port = conf->port; |
84 ucx_map_sstr_put(listener_map, listener->name, listener); |
86 ucx_map_sstr_put(listener_map, listener->name, listener); |
85 |
87 |
86 struct sockaddr_in servaddr; /* server address */ |
88 struct sockaddr_in servaddr; /* server address */ |
87 |
89 |
88 /* init address structure */ |
90 /* init address structure */ |
120 return listener; |
122 return listener; |
121 } |
123 } |
122 |
124 |
123 int http_listener_start(HttpListener *listener) { |
125 int http_listener_start(HttpListener *listener) { |
124 printf("INFO: start listener\n"); |
126 printf("INFO: start listener\n"); |
|
127 log_ereport(LOG_LEVEL_INFO, "start listener on port %d", listener->port); |
125 |
128 |
126 if (listen(listener->server_socket, 256) == -1) { |
129 if (listen(listener->server_socket, 256) == -1) { |
127 perror("Error: http_listener_start: listen"); |
130 perror("Error: http_listener_start: listen"); |
128 return -1; |
131 return -1; |
129 } |
132 } |