SocketFactory::getByProtocol()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 8
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 6
dl 0
loc 8
rs 10
c 0
b 0
f 0
cc 3
nc 3
nop 3
1
<?php
2
3
namespace Vados\TCPLogger;
4
5
use Vados\TCPLogger\socket\Socket;
6
use Vados\TCPLogger\socket\Tcp;
7
use Vados\TCPLogger\socket\Udp;
8
9
/**
10
 * Class SocketFactory
11
 * @package Vados\TCPLogger
12
 */
13
class SocketFactory
14
{
15
    /**
16
     * @param int $protocol
17
     * @param string $host
18
     * @param int $port
19
     * @return Socket
20
     */
21
    public static function getByProtocol(int $protocol, string $host, int $port): Socket
22
    {
23
        switch ($protocol) {
24
            case Protocol::TCP:
25
                return new Tcp($host, $port);
26
            case Protocol::UDP:
27
            default:
28
                return new Udp($host, $port);
29
        }
30
    }
31
}