Bladeren bron

websocket: updates for core events API changes

Daniel-Constantin Mierla 8 jaren geleden
bovenliggende
commit
53e603f506
2 gewijzigde bestanden met toevoegingen van 10 en 8 verwijderingen
  1. 7 6
      src/modules/websocket/ws_frame.c
  2. 3 2
      src/modules/websocket/ws_frame.h

+ 7 - 6
src/modules/websocket/ws_frame.c

@@ -604,10 +604,11 @@ static int handle_pong(ws_frame_t *frame)
 	return 0;
 	return 0;
 }
 }
 
 
-int ws_frame_receive(void *data)
+int ws_frame_receive(sr_event_param_t *evp)
 {
 {
 	ws_frame_t frame;
 	ws_frame_t frame;
-	tcp_event_info_t *tcpinfo = (tcp_event_info_t *) data;
+	tcp_event_info_t *tcpinfo = (tcp_event_info_t *)evp->data;
+	sr_event_param_t levp = {0};
 
 
 	int opcode      = -1;
 	int opcode      = -1;
 	int ret         = 0;
 	int ret         = 0;
@@ -725,8 +726,8 @@ int ws_frame_receive(void *data)
 
 
 				wsconn_put(frame.wsc);
 				wsconn_put(frame.wsc);
 
 
-				return sr_event_exec(SREV_TCP_MSRP_FRAME,
-							(void *) &tev);
+				levp.data = (void *) &tev;
+				return sr_event_exec(SREV_TCP_MSRP_FRAME, &levp);
 			}
 			}
 			else
 			else
 			{
 			{
@@ -765,9 +766,9 @@ int ws_frame_receive(void *data)
 	return 0;
 	return 0;
 }
 }
 
 
-int ws_frame_transmit(void *data)
+int ws_frame_transmit(sr_event_param_t *evp)
 {
 {
-	ws_event_info_t *wsev = (ws_event_info_t *) data;
+	ws_event_info_t *wsev = (ws_event_info_t *)evp->data;
 	ws_frame_t frame;
 	ws_frame_t frame;
 
 
 	memset(&frame, 0, sizeof(frame));
 	memset(&frame, 0, sizeof(frame));

+ 3 - 2
src/modules/websocket/ws_frame.h

@@ -30,6 +30,7 @@
 #include "../../core/config.h"
 #include "../../core/config.h"
 #include "../../core/sr_module.h"
 #include "../../core/sr_module.h"
 #include "../../core/str.h"
 #include "../../core/str.h"
+#include "../../core/events.h"
 #include "../../core/rpc.h"
 #include "../../core/rpc.h"
 #include "ws_conn.h"
 #include "ws_conn.h"
 
 
@@ -70,8 +71,8 @@ extern stat_var *ws_msrp_received_frames;
 extern stat_var *ws_msrp_remote_closed_connections;
 extern stat_var *ws_msrp_remote_closed_connections;
 extern stat_var *ws_msrp_transmitted_frames;
 extern stat_var *ws_msrp_transmitted_frames;
 
 
-int ws_frame_receive(void *data);
-int ws_frame_transmit(void *data);
+int ws_frame_receive(sr_event_param_t *evp);
+int ws_frame_transmit(sr_event_param_t *evp);
 void ws_keepalive(unsigned int ticks, void *param);
 void ws_keepalive(unsigned int ticks, void *param);
 
 
 int ws_close(sip_msg_t *msg);
 int ws_close(sip_msg_t *msg);