78 lines
1.4 KiB
PHP
78 lines
1.4 KiB
PHP
<?php
|
|
/**
|
|
* Sync queue buffer.
|
|
*
|
|
* @package automattic/jetpack-sync
|
|
*/
|
|
|
|
namespace Automattic\Jetpack\Sync;
|
|
|
|
/**
|
|
* A buffer of items from the queue that can be checked out.
|
|
*/
|
|
class Queue_Buffer {
|
|
/**
|
|
* Sync queue buffer ID.
|
|
*
|
|
* @access public
|
|
*
|
|
* @var int
|
|
*/
|
|
public $id;
|
|
|
|
/**
|
|
* Sync items.
|
|
*
|
|
* @access public
|
|
*
|
|
* @var array
|
|
*/
|
|
public $items_with_ids;
|
|
|
|
/**
|
|
* Constructor.
|
|
* Initializes the queue buffer.
|
|
*
|
|
* @access public
|
|
*
|
|
* @param int $id Sync queue buffer ID.
|
|
* @param array $items_with_ids Items for the buffer to work with.
|
|
*/
|
|
public function __construct( $id, $items_with_ids ) {
|
|
$this->id = $id;
|
|
$this->items_with_ids = $items_with_ids;
|
|
}
|
|
|
|
/**
|
|
* Retrieve the sync items in the buffer, in an ID => value form.
|
|
*
|
|
* @access public
|
|
*
|
|
* @return bool|array Sync items in the buffer.
|
|
*/
|
|
public function get_items() {
|
|
return array_combine( $this->get_item_ids(), $this->get_item_values() );
|
|
}
|
|
|
|
/**
|
|
* Retrieve the values of the sync items in the buffer.
|
|
*
|
|
* @access public
|
|
*
|
|
* @return array Sync items values.
|
|
*/
|
|
public function get_item_values() {
|
|
return Utils::get_item_values( $this->items_with_ids );
|
|
}
|
|
|
|
/**
|
|
* Retrieve the IDs of the sync items in the buffer.
|
|
*
|
|
* @access public
|
|
*
|
|
* @return array Sync items IDs.
|
|
*/
|
|
public function get_item_ids() {
|
|
return Utils::get_item_ids( $this->items_with_ids );
|
|
}
|
|
}
|