浏览代码

core: execute SREV_NET_DATA_RECV event

Daniel-Constantin Mierla 9 年之前
父节点
当前提交
4fc969760d
共有 1 个文件被更改,包括 9 次插入0 次删除
  1. 9 0
      receive.c

+ 9 - 0
receive.c

@@ -91,6 +91,7 @@ int receive_msg(char* buf, unsigned int len, struct receive_info* rcv_info)
 	unsigned int diff;
 #endif
 	str inb;
+	sr_net_info_t netinfo;
 
 	inb.s = buf;
 	inb.len = len;
@@ -139,6 +140,14 @@ int receive_msg(char* buf, unsigned int len, struct receive_info* rcv_info)
 	/* ... clear branches from previous message */
 	clear_branches();
 
+	if(sr_event_enabled(SREV_NET_DATA_RECV)) {
+		memset(&netinfo, 0, sizeof(sr_net_info_t));
+		netinfo.data.s = msg->buf;
+		netinfo.data.len = msg->len;
+		netinfo.rcv = rcv_info;
+		sr_event_exec(SREV_NET_DATA_RECV, (void*)&netinfo);
+	}
+
 	if (msg->first_line.type==SIP_REQUEST){
 		ruri_mark_new(); /* ruri is usable for forking (not consumed yet) */
 		if (!IS_SIP(msg)){