/**
  * Retrieve unique message ids that should be processed in current batch.
  * Computing is depending on size of messages
  * @return array
  */
 private function computeMessageIdsToProcess()
 {
     $totalSize = 0;
     $messageIds = array();
     foreach ($this->zendImapStorage->getSize() as $messageId => $size) {
         if ($totalSize + $size > $this->batchSizeInBytes) {
             if (empty($messageIds)) {
                 $messageIds[] = $messageId;
             }
             break;
         }
         $messageIds[] = $this->zendImapStorage->getUniqueId($messageId);
         $totalSize += $size;
     }
     return $messageIds;
 }
Esempio n. 2
0
 public function testSizeFolder()
 {
     $mail = new Storage\Imap($this->_params);
     $mail->selectFolder('subfolder/test');
     $sizes = $mail->getSize();
     $this->assertEquals(array(1 => 410), $sizes);
 }