Completed
Pull Request — master (#16)
by Akihito
02:30
created

Semaphore   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 0
Metric Value
wmc 6
c 0
b 0
f 0
lcom 0
cbo 0
dl 0
loc 33
rs 10

6 Methods

Rating   Name   Duplication   Size   Complexity  
A getQueue() 0 4 1
A statQueue() 0 4 1
A sendMessage() 0 4 1
A receiveMessage() 0 5 1
A removeQueue() 0 4 1
A ftok() 0 4 1
1
<?php
2
namespace Ackintosh\Snidel;
3
4
/**
5
 * Wrapper for semaphore functions
6
 */
7
class Semaphore
8
{
9
    public function getQueue(...$args)
10
    {
11
        return call_user_func_array('msg_get_queue', $args);
12
    }
13
14
    public function statQueue(...$args)
15
    {
16
        return call_user_func_array('msg_stat_queue', $args);
17
    }
18
19
    public function sendMessage(...$args)
20
    {
21
        return call_user_func_array('msg_send', $args);
22
    }
23
24
    public function receiveMessage($queue, $desiredmsgtype, &$msgtype, $maxsize, &$message, $unserialize = false)
25
    {
26
        // For using block mode, we don't use `call_user_func`.
27
        return msg_receive($queue, $desiredmsgtype, $msgtype, $maxsize, $message, $unserialize);
28
    }
29
30
    public function removeQueue(...$args)
31
    {
32
        return call_user_func_array('msg_remove_queue', $args);
33
    }
34
35
    public function ftok(...$args)
36
    {
37
        return call_user_func_array('ftok', $args);
38
    }
39
}