diff --git a/server/notifyserver/tools/pbtools/app.js b/server/notifyserver/tools/pbtools/app.js index 029741b..2fc7648 100644 --- a/server/notifyserver/tools/pbtools/app.js +++ b/server/notifyserver/tools/pbtools/app.js @@ -71,21 +71,23 @@ use std::cell::RefCell; use crate::cs::cs_proto as cs; use crate::cs::cs_msgid as cs_msgid; -struct Handler { +pub struct Handler { msg_id: i32, handler_id: i32, cb: Box::, } static mut HANDLERS: Vec> = Vec::new(); -//static HANDLERS: [Option; 2000]; -/* -func GetNetMsgHandler(msgId uint16) Option { -// handler := handlers[msgId] -// return handler - return None -}*/ +pub fn get_net_msg_handler(msg_id: u16) -> &'static Option { + unsafe { + if (msg_id as usize) < HANDLERS.len() { + return &HANDLERS[msg_id as usize]; + } else { + return &None; + } + } +} /* func DispatchMsg(handler *CsNetMsgHandler, hdr *f5.MsgHdr, msgHandler MsgHandler) {