int matomlserv_init(void) { ListenHost = cfg_getstr("MATOML_LISTEN_HOST","*"); ListenPort = cfg_getstr("MATOML_LISTEN_PORT","9419"); lsock = tcpsocket(); if (lsock<0) { mfs_errlog(LOG_ERR,"master <-> metaloggers module: can't create socket"); return -1; } tcpnonblock(lsock); tcpnodelay(lsock); tcpreuseaddr(lsock); if (tcpsetacceptfilter(lsock)<0 && errno!=ENOTSUP) { mfs_errlog_silent(LOG_NOTICE,"master <-> metaloggers module: can't set accept filter"); } if (tcpstrlisten(lsock,ListenHost,ListenPort,100)<0) { mfs_arg_errlog(LOG_ERR,"master <-> metaloggers module: can't listen on %s:%s",ListenHost,ListenPort); return -1; } mfs_arg_syslog(LOG_NOTICE,"master <-> metaloggers module: listen on %s:%s",ListenHost,ListenPort); matomlservhead = NULL; ChangelogSecondsToRemember = cfg_getuint16("MATOML_LOG_PRESERVE_SECONDS",600); if (ChangelogSecondsToRemember>3600) { syslog(LOG_WARNING,"Number of seconds of change logs to be preserved in master is too big (%"PRIu16") - decreasing to 3600 seconds",ChangelogSecondsToRemember); ChangelogSecondsToRemember=3600; } main_reloadregister(matomlserv_reload); main_destructregister(matomlserv_term); main_canexitregister(matomlserv_canexit); main_pollregister(matomlserv_desc,matomlserv_serve); main_timeregister(TIMEMODE_SKIP_LATE,3600,0,matomlserv_status); return 0; }
int matomlserv_init(void) { ListenHost = cfg_getstr("MATOML_LISTEN_HOST","*"); ListenPort = cfg_getstr("MATOML_LISTEN_PORT","9419"); lsock = tcpsocket(); if (lsock<0) { mfs_errlog(LOG_ERR,"master <-> metaloggers module: can't create socket"); return -1; } tcpnonblock(lsock); tcpnodelay(lsock); tcpreuseaddr(lsock); if (tcpsetacceptfilter(lsock)<0 && errno!=ENOTSUP) { mfs_errlog_silent(LOG_NOTICE,"master <-> metaloggers module: can't set accept filter"); } if (tcpstrlisten(lsock,ListenHost,ListenPort,100)<0) { mfs_errlog(LOG_ERR,"master <-> metaloggers module: can't listen on socket"); return -1; } mfs_arg_syslog(LOG_NOTICE,"master <-> metaloggers module: listen on %s:%s",ListenHost,ListenPort); matomlservhead = NULL; main_reloadregister(matomlserv_reload); main_destructregister(matomlserv_term); main_pollregister(matomlserv_desc,matomlserv_serve); main_timeregister(TIMEMODE_SKIP_LATE,3600,0,matomlserv_status); return 0; }
int masterconn_init(void) { uint32_t ReconnectionDelay; uint32_t MetaDLFreq; masterconn *eptr; ReconnectionDelay = cfg_getuint32("MASTER_RECONNECTION_DELAY",5); MasterHost = cfg_getstr("MASTER_HOST","mfsmaster"); MasterPort = cfg_getstr("MASTER_PORT","9419"); BindHost = cfg_getstr("BIND_HOST","*"); Timeout = cfg_getuint32("MASTER_TIMEOUT",60); BackLogsNumber = cfg_getuint32("BACK_LOGS",50); BackMetaCopies = cfg_getuint32("BACK_META_KEEP_PREVIOUS",3); MetaDLFreq = cfg_getuint32("META_DOWNLOAD_FREQ",24); if (Timeout>65536) { Timeout=65535; } if (Timeout<10) { Timeout=10; } if (BackLogsNumber<5) { BackLogsNumber=5; } if (BackLogsNumber>10000) { BackLogsNumber=10000; } if (MetaDLFreq>(BackLogsNumber/2)) { MetaDLFreq=BackLogsNumber/2; } eptr = masterconnsingleton = malloc(sizeof(masterconn)); passert(eptr); eptr->masteraddrvalid = 0; eptr->mode = FREE; eptr->pdescpos = -1; eptr->logfd = NULL; eptr->metafd = -1; eptr->oldmode = 0; masterconn_findlastlogversion(); if (masterconn_initconnect(eptr)<0) { return -1; } reconnect_hook = main_timeregister(TIMEMODE_RUN_LATE,ReconnectionDelay,0,masterconn_reconnect); download_hook = main_timeregister(TIMEMODE_RUN_LATE,MetaDLFreq*3600,630,masterconn_metadownloadinit); main_destructregister(masterconn_term); main_pollregister(masterconn_desc,masterconn_serve); main_reloadregister(masterconn_reload); main_timeregister(TIMEMODE_RUN_LATE,60,0,masterconn_sessionsdownloadinit); main_timeregister(TIMEMODE_RUN_LATE,1,0,masterconn_metachanges_flush); return 0; }
int masterconn_init(void) { uint32_t ReconnectionDelay; masterconn *eptr; ReconnectionDelay = cfg_getuint32("MASTER_RECONNECTION_DELAY",5); MasterHost = cfg_getstr("MASTER_HOST","mfsmaster"); MasterPort = cfg_getstr("MASTER_PORT","9419"); BindHost = cfg_getstr("BIND_HOST","*"); Timeout = cfg_getuint32("MASTER_TIMEOUT",10); BackLogsNumber = cfg_getuint32("BACK_LOGS",50); BackMetaCopies = cfg_getuint32("BACK_META_KEEP_PREVIOUS",3); if (Timeout>65536) { Timeout=65535; } if (Timeout<10) { Timeout=10; } if (BackLogsNumber<5) { BackLogsNumber=5; } if (BackLogsNumber>10000) { BackLogsNumber=10000; } eptr = masterconnsingleton = malloc(sizeof(masterconn)); passert(eptr); eptr->masteraddrvalid = 0; eptr->mode = FREE; eptr->pdescpos = -1; eptr->metafd = -1; eptr->oldmode = 0; currentlogversion = fs_getversion(); if (!fs_ismastermode() && masterconn_initconnect(eptr)<0) { return -1; } reconnect_hook = main_timeregister(TIMEMODE_RUN_LATE,ReconnectionDelay,0,masterconn_reconnect); main_destructregister(masterconn_term); main_pollregister(masterconn_desc,masterconn_serve); main_reloadregister(masterconn_reload); main_timeregister(TIMEMODE_RUN_LATE,60,0,masterconn_sessionsdownloadinit); return 0; }