friendship ended with social-app. php is my new best friend
1<?php 2 3namespace React\Socket; 4 5/** 6 * The `ConnectorInterface` is responsible for providing an interface for 7 * establishing streaming connections, such as a normal TCP/IP connection. 8 * 9 * This is the main interface defined in this package and it is used throughout 10 * React's vast ecosystem. 11 * 12 * Most higher-level components (such as HTTP, database or other networking 13 * service clients) accept an instance implementing this interface to create their 14 * TCP/IP connection to the underlying networking service. 15 * This is usually done via dependency injection, so it's fairly simple to actually 16 * swap this implementation against any other implementation of this interface. 17 * 18 * The interface only offers a single `connect()` method. 19 * 20 * @see ConnectionInterface 21 */ 22interface ConnectorInterface 23{ 24 /** 25 * Creates a streaming connection to the given remote address 26 * 27 * If returns a Promise which either fulfills with a stream implementing 28 * `ConnectionInterface` on success or rejects with an `Exception` if the 29 * connection is not successful. 30 * 31 * ```php 32 * $connector->connect('google.com:443')->then( 33 * function (React\Socket\ConnectionInterface $connection) { 34 * // connection successfully established 35 * }, 36 * function (Exception $error) { 37 * // failed to connect due to $error 38 * } 39 * ); 40 * ``` 41 * 42 * The returned Promise MUST be implemented in such a way that it can be 43 * cancelled when it is still pending. Cancelling a pending promise MUST 44 * reject its value with an Exception. It SHOULD clean up any underlying 45 * resources and references as applicable. 46 * 47 * ```php 48 * $promise = $connector->connect($uri); 49 * 50 * $promise->cancel(); 51 * ``` 52 * 53 * @param string $uri 54 * @return \React\Promise\PromiseInterface<ConnectionInterface> 55 * Resolves with a `ConnectionInterface` on success or rejects with an `Exception` on error. 56 * @see ConnectionInterface 57 */ 58 public function connect($uri); 59}