var $the_end;
var $tok;
+ var $delay_mgr;
+
static function page_manager($room, $header_out, $path, $method, $addr, $get, $post, $cookie)
{
switch ($path) {
$this->table_token = $table_token;
$this->garbage_timeout = 0;
+ $this->delay_mgr = new Delay_Manager((GARBAGE_TIMEOUT *3.0) / 2.0);
+
log_wr("Bin5 constructor end");
}
/* Garbage collector degli utenti in timeout */
$ismod = FALSE;
$curtime = time();
+
+ $delta = $this->delay_mgr->delta_get($curtime);
+
if ($force || $this->garbage_timeout < $curtime) {
for ($i = 0 ; $i < BIN5_MAX_PLAYERS ; $i++) {
$user_cur = $this->user[$i];
($user_cur->stat == 'table' && ($user_cur->subst == 'shutdowned' || $user_cur->subst == 'shutdowner')))
continue;
- if ($user_cur->lacc + EXPIRE_TIME_RD < $curtime) { // Auto logout dell'utente
+ if ($user_cur->lacc + EXPIRE_TIME_RD < ($curtime - $delta)) { // Auto logout dell'utente
log_rd2($user_cur->sess." bin5 AUTO LOGOUT.");
if ($user_cur->stat == 'table') {
$ismod = TRUE;
}
+ $this->delay_mgr->lastcheck_set($curtime);
return ($ismod);
}
$content = ob_get_contents();
ob_end_clean();
- $s_a_p->pgflush_try_add($enc, $new_socket, 20, $header_out, $content);
+ $s_a_p->pendpage_try_addflush($enc, $new_socket, 20, $header_out, $content);
return TRUE;
break;
else {
$content = "Bin5 Load data error";
}
- $s_a_p->pgflush_try_add($enc, $new_socket, 20, $header_out, $content);
+ $s_a_p->pendpage_try_addflush($enc, $new_socket, 20, $header_out, $content);
return TRUE;
break;
|| (($user = $bri->get_user($cookie['sess'], $idx)) == FALSE)) {
$content = Bin5_user::stream_fini($transp_type, $s_a_p->rndstr, TRUE);
- $s_a_p->pgflush_try_add($enc, $new_socket, 20, $header_out, $content);
+ $s_a_p->pendpage_try_addflush($enc, $new_socket, 20, $header_out, $content);
return TRUE;
break;