public function poll($microtime = false, $admin = false)
 {
     session_write_close();
     $pollMs = 500000;
     $timeout = $counter = 30;
     $timeoutBuffer = 5;
     set_time_limit($timeout + $timeoutBuffer);
     if (microtime(true) > $microtime + 10) {
         $microtime = microtime(true);
     }
     ChatPiwikUser::setLastPoll($microtime, $admin);
     while ($counter > 0) {
         $data = $this->getNewMessages($microtime, $admin);
         if (count($data) > 0) {
             break;
         } else {
             usleep($pollMs);
             $counter -= $pollMs / 1000000;
         }
     }
     if (count($data) > 0) {
         return $data;
     }
     return false;
 }