//------------------------------------------------------------------------------------------------- void TimerActor::event_t::invoke() { // 1. Послать уведомление actor.send( msg_time() ); // 2. Если требовалось только одно уведомление, то // событие можно удалять. if (this->once) { TimerActor::msg_delete msg; // - msg.actor = this->actor; // - owner.send( msg ); } }
char* DLLCALL get_msgid(scfg_t* cfg, uint subnum, smbmsg_t* msg, char* msgid, size_t maxlen) { char* host; if(msg->id!=NULL && *msg->id!=0) { strncpy(msgid,msg->id,maxlen); return(msg->id); } /* Try *really* hard to get a hostname from the configuration data */ host=cfg->sys_inetaddr; if(!host[0]) { host=cfg->sys_id; if(!host[0]) { host=cfg->sys_name; if(!host[0]) { host=cfg->sys_op; } } } if(subnum>=cfg->total_subs) safe_snprintf(msgid,maxlen ,"<%08lX.%lu@%s>" ,msg_time(msg) ,msg_number(msg) ,host); else safe_snprintf(msgid,maxlen ,"<%08lX.%lu.%s@%s>" ,msg_time(msg) ,msg_number(msg) ,cfg->sub[subnum]->code ,host); return(msgid); }
static ulong msgid_serialno(smbmsg_t* msg) { return (msg_time(msg)-1000000000) + msg_number(msg); }