namespace Google\Site_Kit_Dependencies\GuzzleHttp\Promise; /** * Get the global task queue used for promise resolution. * * This task queue MUST be run in an event loop in order for promises to be * settled asynchronously. It will be automatically run when synchronously * waiting on a promise. * * * while ($eventLoop->isRunning()) { * GuzzleHttp\Promise\queue()->run(); * } * * * @param TaskQueueInterface $assign Optionally specify a new queue instance. * * @return TaskQueueInterface * * @deprecated queue will be removed in guzzlehttp/promises:2.0. Use Utils::queue instead. */ function queue(\Google\Site_Kit_Dependencies\GuzzleHttp\Promise\TaskQueueInterface $assign = null) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Utils::queue($assign); } /** * Adds a function to run in the task queue when it is next `run()` and returns * a promise that is fulfilled or rejected with the result. * * @param callable $task Task function to run. * * @return PromiseInterface * * @deprecated task will be removed in guzzlehttp/promises:2.0. Use Utils::task instead. */ function task(callable $task) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Utils::task($task); } /** * Creates a promise for a value if the value is not a promise. * * @param mixed $value Promise or value. * * @return PromiseInterface * * @deprecated promise_for will be removed in guzzlehttp/promises:2.0. Use Create::promiseFor instead. */ function promise_for($value) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Create::promiseFor($value); } /** * Creates a rejected promise for a reason if the reason is not a promise. If * the provided reason is a promise, then it is returned as-is. * * @param mixed $reason Promise or reason. * * @return PromiseInterface * * @deprecated rejection_for will be removed in guzzlehttp/promises:2.0. Use Create::rejectionFor instead. */ function rejection_for($reason) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Create::rejectionFor($reason); } /** * Create an exception for a rejected promise value. * * @param mixed $reason * * @return \Exception|\Throwable * * @deprecated exception_for will be removed in guzzlehttp/promises:2.0. Use Create::exceptionFor instead. */ function exception_for($reason) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Create::exceptionFor($reason); } /** * Returns an iterator for the given value. * * @param mixed $value * * @return \Iterator * * @deprecated iter_for will be removed in guzzlehttp/promises:2.0. Use Create::iterFor instead. */ function iter_for($value) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Create::iterFor($value); } /** * Synchronously waits on a promise to resolve and returns an inspection state * array. * * Returns a state associative array containing a "state" key mapping to a * valid promise state. If the state of the promise is "fulfilled", the array * will contain a "value" key mapping to the fulfilled value of the promise. If * the promise is rejected, the array will contain a "reason" key mapping to * the rejection reason of the promise. * * @param PromiseInterface $promise Promise or value. * * @return array * * @deprecated inspect will be removed in guzzlehttp/promises:2.0. Use Utils::inspect instead. */ function inspect(\Google\Site_Kit_Dependencies\GuzzleHttp\Promise\PromiseInterface $promise) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Utils::inspect($promise); } /** * Waits on all of the provided promises, but does not unwrap rejected promises * as thrown exception. * * Returns an array of inspection state arrays. * * @see inspect for the inspection state array format. * * @param PromiseInterface[] $promises Traversable of promises to wait upon. * * @return array * * @deprecated inspect will be removed in guzzlehttp/promises:2.0. Use Utils::inspectAll instead. */ function inspect_all($promises) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Utils::inspectAll($promises); } /** * Waits on all of the provided promises and returns the fulfilled values. * * Returns an array that contains the value of each promise (in the same order * the promises were provided). An exception is thrown if any of the promises * are rejected. * * @param iterable $promises Iterable of PromiseInterface objects to wait on. * * @return array * * @throws \Exception on error * @throws \Throwable on error in PHP >=7 * * @deprecated unwrap will be removed in guzzlehttp/promises:2.0. Use Utils::unwrap instead. */ function unwrap($promises) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Utils::unwrap($promises); } /** * Given an array of promises, return a promise that is fulfilled when all the * items in the array are fulfilled. * * The promise's fulfillment value is an array with fulfillment values at * respective positions to the original array. If any promise in the array * rejects, the returned promise is rejected with the rejection reason. * * @param mixed $promises Promises or values. * @param bool $recursive If true, resolves new promises that might have been added to the stack during its own resolution. * * @return PromiseInterface * * @deprecated all will be removed in guzzlehttp/promises:2.0. Use Utils::all instead. */ function all($promises, $recursive = \false) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Utils::all($promises, $recursive); } /** * Initiate a competitive race between multiple promises or values (values will * become immediately fulfilled promises). * * When count amount of promises have been fulfilled, the returned promise is * fulfilled with an array that contains the fulfillment values of the winners * in order of resolution. * * This promise is rejected with a {@see AggregateException} if the number of * fulfilled promises is less than the desired $count. * * @param int $count Total number of promises. * @param mixed $promises Promises or values. * * @return PromiseInterface * * @deprecated some will be removed in guzzlehttp/promises:2.0. Use Utils::some instead. */ function some($count, $promises) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Utils::some($count, $promises); } /** * Like some(), with 1 as count. However, if the promise fulfills, the * fulfillment value is not an array of 1 but the value directly. * * @param mixed $promises Promises or values. * * @return PromiseInterface * * @deprecated any will be removed in guzzlehttp/promises:2.0. Use Utils::any instead. */ function any($promises) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Utils::any($promises); } /** * Returns a promise that is fulfilled when all of the provided promises have * been fulfilled or rejected. * * The returned promise is fulfilled with an array of inspection state arrays. * * @see inspect for the inspection state array format. * * @param mixed $promises Promises or values. * * @return PromiseInterface * * @deprecated settle will be removed in guzzlehttp/promises:2.0. Use Utils::settle instead. */ function settle($promises) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Utils::settle($promises); } /** * Given an iterator that yields promises or values, returns a promise that is * fulfilled with a null value when the iterator has been consumed or the * aggregate promise has been fulfilled or rejected. * * $onFulfilled is a function that accepts the fulfilled value, iterator index, * and the aggregate promise. The callback can invoke any necessary side * effects and choose to resolve or reject the aggregate if needed. * * $onRejected is a function that accepts the rejection reason, iterator index, * and the aggregate promise. The callback can invoke any necessary side * effects and choose to resolve or reject the aggregate if needed. * * @param mixed $iterable Iterator or array to iterate over. * @param callable $onFulfilled * @param callable $onRejected * * @return PromiseInterface * * @deprecated each will be removed in guzzlehttp/promises:2.0. Use Each::of instead. */ function each($iterable, callable $onFulfilled = null, callable $onRejected = null) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Each::of($iterable, $onFulfilled, $onRejected); } /** * Like each, but only allows a certain number of outstanding promises at any * given time. * * $concurrency may be an integer or a function that accepts the number of * pending promises and returns a numeric concurrency limit value to allow for * dynamic a concurrency size. * * @param mixed $iterable * @param int|callable $concurrency * @param callable $onFulfilled * @param callable $onRejected * * @return PromiseInterface * * @deprecated each_limit will be removed in guzzlehttp/promises:2.0. Use Each::ofLimit instead. */ function each_limit($iterable, $concurrency, callable $onFulfilled = null, callable $onRejected = null) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Each::ofLimit($iterable, $concurrency, $onFulfilled, $onRejected); } /** * Like each_limit, but ensures that no promise in the given $iterable argument * is rejected. If any promise is rejected, then the aggregate promise is * rejected with the encountered rejection. * * @param mixed $iterable * @param int|callable $concurrency * @param callable $onFulfilled * * @return PromiseInterface * * @deprecated each_limit_all will be removed in guzzlehttp/promises:2.0. Use Each::ofLimitAll instead. */ function each_limit_all($iterable, $concurrency, callable $onFulfilled = null) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Each::ofLimitAll($iterable, $concurrency, $onFulfilled); } /** * Returns true if a promise is fulfilled. * * @return bool * * @deprecated is_fulfilled will be removed in guzzlehttp/promises:2.0. Use Is::fulfilled instead. */ function is_fulfilled(\Google\Site_Kit_Dependencies\GuzzleHttp\Promise\PromiseInterface $promise) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Is::fulfilled($promise); } /** * Returns true if a promise is rejected. * * @return bool * * @deprecated is_rejected will be removed in guzzlehttp/promises:2.0. Use Is::rejected instead. */ function is_rejected(\Google\Site_Kit_Dependencies\GuzzleHttp\Promise\PromiseInterface $promise) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Is::rejected($promise); } /** * Returns true if a promise is fulfilled or rejected. * * @return bool * * @deprecated is_settled will be removed in guzzlehttp/promises:2.0. Use Is::settled instead. */ function is_settled(\Google\Site_Kit_Dependencies\GuzzleHttp\Promise\PromiseInterface $promise) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Is::settled($promise); } /** * Create a new coroutine. * * @see Coroutine * * @return PromiseInterface * * @deprecated coroutine will be removed in guzzlehttp/promises:2.0. Use Coroutine::of instead. */ function coroutine(callable $generatorFn) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Coroutine::of($generatorFn); } Die Orientxpress: Eine Übersicht über den Transportweg durch Europa und Asien. – Guitar Shred

Die Orientxpress: Eine Übersicht über den Transportweg durch Europa und Asien.

Die Orientxpress: Eine Übersicht über den Transportweg durch Europa und Asien

Einführung in die Orientxpress

Die Orientxpress, auch bekannt als die legendäre Zugverbindung zwischen Paris und Istanbul, ist ein Symbol des Luxusreiseverkehrs im 20. Jahrhundert. Der Name “Orient-Express” wurde erstmals 1883 von der Compagnie Internationale des Wagons-Lits (CIWL) verwendet, als dieser luxuriöse Zug erstmals zwischen Paris und Konstantinopel verkehrte. In den folgenden Jahrzehnten entwickelten sich verschiedene Routen und Varianten dieser legendären Verbindung durch Europa und Asien.

Die Geschichte der Orientxpress

Während seiner goldenen Ära, von 1929 bis 1940, war die Orient-Express eine Ikone des hier Luxusreiseverkehrs. Der Zug verband Paris mit Istanbul, unterwegs fuhren er mehrere Zwischenhalte in verschiedenen europäischen Hauptstädten ein. Die Reise dauerte etwa sieben Tage und wurde zu einem Statussymbol für Reiche und Prominente. Während der Weltwirtschaftskrise 1929 sank die Zahl der Passagiere, aber mit dem Ausbruch des Zweiten Weltkriegs kam die Orient-Express-Verbindung abrupt zum Stillstand.

Nach dem Krieg kehrte die Orientxpress nicht mehr in ihren klassischen Zustand zurück. Stattdessen wurde sie von verschiedenen Gesellschaften übernommen und ihre Route änderte sich kontinuierlich. In den 1960er Jahren verband der Orient-Express Berlin mit Istanbul, während in den 1970er Jahren die Route nach Paris wiederhergestellt wurde.

Der Transportweg durch Europa

Die Reise von Paris nach Istanbul führt quer durch Europa, über verschiedene Länder hinweg. Ein klassischer Teil dieser Fahrt ist die Durchquerung der Schweiz und Österreichs mit einem Panoramawagen oder dem bekannten Orient-Express-Luxuswagen. In Deutschland legt man vorab in München an, wo dann ein Umstieg auf einen anderen Zug erfolgt.

Ein weiterer bedeutender Abschnitt war die Passage durch Jugoslawien (heute Kroatien), Rumänien und Bulgarien. Diese Länder machten zu dieser Zeit Teil der Reiseroute aus, bis sie 1961 entfielen. Nach dem Fall des Eisernen Vorhangs begann sich auch in Osteuropa das Touristentourismus-Interesse zu erholen.

Der Transportweg durch Asien

Im Laufe der Jahre wurde die Orientxpress-Linie immer mehr nach Ost überführt. Die Strecke führte von Istanbul quer durch den Balkan, dann weiter nach Anatolien und in die Türkei. Die Route ging über den Bosporus hinaus, nach Konstantinopel, wo der Zug die erste Station hatte.

Während des Kalten Krieges gab es Pläne für eine Reise von Istanbul nach Bombay (heute Mumbai), aber diese Idee wurde niemals realisiert. Stattdessen wurden andere Routen erworben oder neu vergeben und so ein Bogen durch Zentralasien gemacht, wobei der Zug über die ehemalige Sowjetunion verkehrte.

Die Technologie und den Ausbau

In den 1960er Jahren wurde eine neue Generation von Orient-Express-Zügen eingeführt. Diese besaßen mehrere Lokomotiven und verbesserte Leistungsparameter, wie z.B. höhere Geschwindigkeiten bis zu 180 km/h.

Für die damalige Zeit war dies ein erheblicher Fortschritt, aber auch für den Personen- und Güterverkehr war es eine Herausforderung. Durch diese neue Technik konnten Reisen schneller werden und man brauchte weniger Personal in der Verwaltung von Zügen und Stationen.

Der Luxusservice

Die Orientxpress bot immer einen außergewöhnlichen Service. In den Tagen ihrer Blüte erwartete die Fahrgäste luxuriös ausgestattete Waggons mit Spezial- oder Gourmet-Mehrzweckzimmern, Bahn-Cafés, Bars und Restaurants auf dem Zug.

Der berühmteste Teil war sicher der luxusorientierte Zugwaggon von 1883. Im Innenraum konnte man sich an den Polsterungen des Sofa-Tisches gemütlich niederlassen. Hier hatte die Fahrgast auch das Privileg, sein Abendessen beim leisen Knarren eines Waggons im Restaurant- oder Salonwagen zu genießen.

Die Probleme und Kritik

Der Orientxpress war stets Gegenstand von Spekulationen und politischen Ereignissen. Durch die beiden Weltkriege wurde er aus dem Verkehr gezogen und nur ein einziges Mal wieder für einen kurzen Zeitraum nach 1949 verkehrt.

Nachdem die Compagnie Internationale des Wagons-Lits ihre Betätigung aufgab, kam auch der Orient-Express in seinen letzten Jahren immer mehr zurück. Allerdings sollte es nicht lange dauern, bis er dann ganz entfiel und durch weniger komfortable Verbindungen ersetzt wurde.

Die Rückkehr zum alten Glanz

In den 1960er Jahren gab es erste Versuche, die Route der Orient-Express wiederherzustellen. Während des gesamten Kalten Krieges blieben diese Ideen zunächst in aller Stille oder nicht im Geringsten für das Publikum erkennbar.

Doch nachdem 1984 Bulgarien und Rumänien ihre Einreisebeschränkungen für Westtouristen lockerten, wurde wieder ein Ausbau geplant. Während sich auch die Orient-Express-Society auf den Weg machte, um diese Verbindung im richtigen Licht darzustellen und so viele Menschen wie möglich dazu zu bewegen mitzuwandeln.

Zusammenfassende Bemerkungen

Die Orientxpress ist eine Ikone des Luxusreiseverkehrs, die einzigartige Erlebnisse über mehrere Jahrhunderte hinweg bereitete. Aus ihrer Geschichte können manchmal negative und positive Aspekte abgelesen werden.

In den vergangenen Jahren wurde der Orient-Express immer wieder neu definiert oder umstrukturiert, um ihn seinen Zeiten anzupassen. Das war nicht nur notwendig, sondern es führte auch dazu, dass viele Interessenten von Reisen an ihr Ziel kamen. In einem großen Maße liegt das in der Kreativität und Flexibilität des gesamten Team an Bord.

Anschließend ist die Orientxpress eine interessante Gelegenheit für jeden Touristen oder Personen, sich auf eine echte Abenteuerreise vorzubereiten!