app level keepalive (new ping message) added
[brisk.git] / web / Obj / sac-a-push.phh
index bc0ea87..4a325da 100644 (file)
@@ -404,10 +404,18 @@ class Sac_a_push {
                 if (isset($this->s2u[intval($sock)])) {
                     $user = $this->s2u[intval($sock)];
                     $response = $user->rd_cache_get();
+                    if (($this->curtime - $user->lacc) <= (EXPIRE_TIME_RD / 2)) {
+                        $user->ping_req = FALSE;
+                    }
                     if ($response == "") {
                         $content = "";
                         $user->stream_main($content, $get, $post, $cookie);
-                        
+                        printf("[%s] [%d] [%d]\n", $user->name, $user->lacc, $this->curtime);
+                        if ($content == "" && $user->ping_req == FALSE 
+                            && (($this->curtime - $user->lacc) > (EXPIRE_TIME_RD / 2))) {
+                            $content = $user->stream_ping();
+                            $user->ping_req = TRUE;
+                        }
                         if ($content == "" && $user->rd_kalive_is_expired($this->curtime)) {
                             $content = $user->stream_keepalive();
                         }