SocketFactory   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 16
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 7
dl 0
loc 16
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A getByProtocol() 0 8 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
}