class Client extends Client

Etcd-Client

$uri = new \Alvine\Net\Resource\URI('http://cluster:port/');
$client = new \Alvine\Infrastructure\CoreOS\Etcd\Client($uri);

Constants

APIPATH

Pfad auf die aktuelle API-Version

PORT

Port des Servers für Clientanfragen

SERVER_PORT

Port für Kommunikation Server-Server

Methods

ArrayHelper
getArrayHelperFromResponse(Response $response)

Hilfsmethode

Statistic>
getFollowerStatistics()

Statistik der Follower vom Leader abfragen

getStatistics()

Statistik der aufgerufenen Node

string
getLeader()

Leader

getValue(string $key)

Wert auslesen

ObjectMap
getList(string $directory = '/', boolean $recursive = false)

Liste mit Nodes in einem Verzeichnis

ObjectMap
getKeyValueMap(Response $response)

Ergebnis eines Response zerlegen und eine ObjektMap erstellen

deleteValue(string $key)

Wert löschen

deleteValueIfValue(string $key, string $actualValue)

Wert löschen

setValue(string $key, string $value, integer $ttl = null)

Wert setzen

setValueWithPath(string $path, string $value, integer $ttl = null)

Wert intern setzen

setValueIfNotExists(string $key, string $value, integer $ttl = null)

Atomic Compare-and-Swap

setValueIfExists(string $key, string $value, integer $ttl = null)

Atomic Compare-and-Swap

setValueIfValue(string $key, string $value, string $actualValue, integer $ttl = null)

Atomic Compare-and-Swap

ObjectMap
wait(string $key, integer $index = null, boolean $recursive = false)

Auf Änderung warten

createDirectory(string $key, integer $ttl = null)

Verzeichnis erstellen

deleteDirectory(string $key, integer $recursive = false)

Verzeichnis löschen

Details

at line 70
protected ArrayHelper getArrayHelperFromResponse(Response $response)

Hilfsmethode

Erstellt aus einer Rückgabe ein ArrayHelper-Objekt.

Parameters

Response $response

Return Value

ArrayHelper

Exceptions

TypeException

at line 92
Statistic> getFollowerStatistics()

Statistik der Follower vom Leader abfragen

Diese Methode kann nur auf den Leader angewendet werden. Bei einem Aufruf über einen Follower wird eine Not Permit Exeption geworfen

Return Value

Statistic>

Exceptions

ConnectionFailedException 403 Forbidden bei Abfragen gegen Follower und nicht dem Leader

at line 115
Node getStatistics()

Statistik der aufgerufenen Node

Diese Methode kann nur auf den Leader angewendet werden. Bei einem Aufruf über einen Follower wird eine Not Permit Exeption geworfen

Return Value

Node

at line 127
string getLeader()

Leader

Return Value

string Name des Leaders

at line 143
Client getValue(string $key)

Wert auslesen

Parameters

string $key Schlüssel

Return Value

Client

at line 162
ObjectMap getList(string $directory = '/', boolean $recursive = false)

Liste mit Nodes in einem Verzeichnis

Wird kein Verzeichnis angegeben, so wird das Hauptverzeichnis / genommen.

Parameters

string $directory Verzeichnis
boolean $recursive Rekursiv durchlaufen

Return Value

ObjectMap

at line 177
protected ObjectMap getKeyValueMap(Response $response)

Ergebnis eines Response zerlegen und eine ObjektMap erstellen

Parameters

Response $response

Return Value

ObjectMap

at line 208
Client deleteValue(string $key)

Wert löschen

Parameters

string $key Schlüssel

Return Value

Client

at line 225
Client deleteValueIfValue(string $key, string $actualValue)

Wert löschen

Der Wert wird nur gelöscht, wenn der Wert im Cluster den angegebenen Wert entspricht.

Parameters

string $key Schlüssel
string $actualValue Vergleichswert im Cluster

Return Value

Client

at line 240
Client setValue(string $key, string $value, integer $ttl = null)

Wert setzen

Parameters

string $key Schlüssel
string $value Wert
integer $ttl Gültigkeit in Sekunden

Return Value

Client

at line 253
protected Client setValueWithPath(string $path, string $value, integer $ttl = null)

Wert intern setzen

Parameters

string $path URL auf den Schlüssel
string $value Wert
integer $ttl Gültigkeit in Sekunden

Return Value

Client

at line 275
Client setValueIfNotExists(string $key, string $value, integer $ttl = null)

Atomic Compare-and-Swap

Setzt einen Wert nur dann, wenn er nicht vorhanden ist.

Parameters

string $key Schlüssel
string $value Wert
integer $ttl Gültigkeit in Sekunden

Return Value

Client

at line 291
Client setValueIfExists(string $key, string $value, integer $ttl = null)

Atomic Compare-and-Swap

Setzt einen Wert nur dann, wenn er bereits vorhanden ist.

Parameters

string $key Schlüssel
string $value Wert
integer $ttl Gültigkeit in Sekunden

Return Value

Client

at line 308
Client setValueIfValue(string $key, string $value, string $actualValue, integer $ttl = null)

Atomic Compare-and-Swap

Setzt einen Wert nur dann, wenn er der aktuelle Wert im Cluster $actualValue ist.

Parameters

string $key Schlüssel
string $value Wert
string $actualValue Aktueller Vergleichswert
integer $ttl Gültigkeit in Sekunden

Return Value

Client

at line 331
ObjectMap wait(string $key, integer $index = null, boolean $recursive = false)

Auf Änderung warten

Die Funktion kehrt erst zurück, wenn sich der Wert des Schlüssels geändert hat oder das Timeout abgelaufen ist. Das Timeout wird in dieser Methode auf 86400 Sekunden gesetzt.

Antwortet der Server mit einem 200 ohne Änderung, so wird eine leere ObjectMap zurückgegeben.

Parameters

string $key Schlüssel
integer $index Index
boolean $recursive Rekursiv

Return Value

ObjectMap

at line 367
Client createDirectory(string $key, integer $ttl = null)

Verzeichnis erstellen

Wird ein TTL angegeben, so ist der Schlüssel nur für diese Zeit gültig und wird im Anschluss automatisch vom Server gelöscht.

Parameters

string $key Verzeichnis
integer $ttl Gültigkeit in Sekunden

Return Value

Client

at line 386
Client deleteDirectory(string $key, integer $recursive = false)

Verzeichnis löschen

Parameters

string $key Verzeichnis
integer $recursive Rekursiv löschen

Return Value

Client