summaryrefslogtreecommitdiff
path: root/www/wiki/includes/libs/rdbms/database/position/DBMasterPos.php
blob: 28d2a1b804f0662ea3b924bac520d378636e6905 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php

namespace Wikimedia\Rdbms;

use Serializable;

/**
 * An object representing a master or replica DB position in a replicated setup.
 *
 * The implementation details of this opaque type are up to the database subclass.
 */
interface DBMasterPos extends Serializable {
	/**
	 * @return float UNIX timestamp
	 * @since 1.25
	 */
	public function asOfTime();

	/**
	 * @param DBMasterPos $pos
	 * @return bool Whether this position is at or higher than $pos
	 * @since 1.27
	 */
	public function hasReached( DBMasterPos $pos );

	/**
	 * @param DBMasterPos $pos
	 * @return bool Whether this position appears to be for the same channel as another
	 * @since 1.27
	 */
	public function channelsMatch( DBMasterPos $pos );

	/**
	 * @return string
	 * @since 1.27
	 */
	public function __toString();
}