|
@@ -189,6 +189,15 @@ int sr_event_register_cb(int type, sr_event_cb_f f)
|
|
}
|
|
}
|
|
if(i==SREV_CB_LIST_SIZE) return -1;
|
|
if(i==SREV_CB_LIST_SIZE) return -1;
|
|
break;
|
|
break;
|
|
|
|
+ case SREV_TCP_WS_CLOSE:
|
|
|
|
+ for(i=0; i<SREV_CB_LIST_SIZE; i++) {
|
|
|
|
+ if(_sr_events_list.tcp_ws_close[i]==0) {
|
|
|
|
+ _sr_events_list.tcp_ws_close[i] = f;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(i==SREV_CB_LIST_SIZE) return -1;
|
|
|
|
+ break;
|
|
default:
|
|
default:
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
@@ -335,6 +344,15 @@ int sr_event_exec(int type, sr_event_param_t *evp)
|
|
ret |= _sr_events_list.sip_reply_out[i](evp);
|
|
ret |= _sr_events_list.sip_reply_out[i](evp);
|
|
}
|
|
}
|
|
} else return 1;
|
|
} else return 1;
|
|
|
|
+ case SREV_TCP_WS_CLOSE:
|
|
|
|
+ if(unlikely(_sr_events_list.tcp_ws_close[0]!=0))
|
|
|
|
+ {
|
|
|
|
+ ret = 0;
|
|
|
|
+ for(i=0; i<SREV_CB_LIST_SIZE
|
|
|
|
+ && _sr_events_list.tcp_ws_close[i]; i++) {
|
|
|
|
+ ret = _sr_events_list.tcp_ws_close[i](evp);
|
|
|
|
+ }
|
|
|
|
+ } else return 1;
|
|
default:
|
|
default:
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
@@ -378,6 +396,8 @@ int sr_event_enabled(int type)
|
|
return (_sr_events_list.net_data_send!=0)?1:0;
|
|
return (_sr_events_list.net_data_send!=0)?1:0;
|
|
case SREV_SIP_REPLY_OUT:
|
|
case SREV_SIP_REPLY_OUT:
|
|
return (_sr_events_list.sip_reply_out[0]!=0)?1:0;
|
|
return (_sr_events_list.sip_reply_out[0]!=0)?1:0;
|
|
|
|
+ case SREV_TCP_WS_CLOSE:
|
|
|
|
+ return (_sr_events_list.tcp_ws_close[0]!=0)?1:0;
|
|
}
|
|
}
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|