Completed
Push — 1.1 ( ed8c11...60d65e )
by David
9s
created

AbstractConsumer   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 1
dl 0
loc 19
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A callback() 0 12 3
onMessageReceived() 0 1 ?
1
<?php
2
3
namespace Mouf\AmqpClient;
4
5
abstract class AbstractConsumer implements ConsumerInterface
6
{
7
    use ConsumerTrait;
8
9
    public function callback($msg)
10
    {
11
        try {
12
            $this->onMessageReceived($msg);
13
14
            $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']);
15
        } catch (RetryableExceptionInterface $e) {
16
            $msg->delivery_info['channel']->basic_nack($msg->delivery_info['delivery_tag'], true, true);
17
        } catch (\Exception $e) {
18
            $msg->delivery_info['channel']->basic_nack($msg->delivery_info['delivery_tag'], true, false);
19
        }
20
    }
21
22
    abstract public function onMessageReceived($msg);
23
}
24