Completed
Pull Request — master (#3)
by thomas
21:44
created

Client::request()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
ccs 0
cts 4
cp 0
rs 10
cc 1
eloc 2
nc 1
nop 2
crap 2
1
<?php
2
3
namespace BitWasp\Stratum;
4
5
use BitWasp\Stratum\Request\RequestFactory;
6
use React\SocketClient\ConnectorInterface;
7
use React\Stream\Stream;
8
9
class Client
10
{
11
12
    /**
13
     * @var RequestFactory
14
     */
15
    private $requestFactory;
16
17
    /**
18
     * @param RequestFactory $requestFactory
19
     */
20
    public function __construct(RequestFactory $requestFactory)
21
    {
22
        $this->requestFactory = $requestFactory;
23
    }
24
25
    /**
26
     * @param ConnectorInterface $connector
27
     * @param string $host
28
     * @param int $port
29
     * @return \React\Promise\PromiseInterface|\React\Promise\RejectedPromise|static
30
     */
31
    public function connect(ConnectorInterface $connector, $host, $port)
32
    {
33
        return $connector->create($host, $port)->then(function (Stream $stream) {
34
            return new Connection($stream, $this->requestFactory);
35
        }, function (\Exception $e) {
36
            throw $e;
37
        });
38
    }
39
}
40