|
4 | 4 |
|
5 | 5 | namespace Bernard\Driver\AppEngine;
|
6 | 6 |
|
| 7 | +use Bernard\Driver\Message; |
7 | 8 | use google\appengine\api\taskqueue\PushTask;
|
8 | 9 |
|
9 | 10 | /**
|
10 |
| - * Simple driver for google AppEngine. Many features are not supported. |
| 11 | + * Google App Engine driver. Many features are not supported. |
11 | 12 | * It takes a list of array('name' => 'endpoint') to route messages to the
|
12 | 13 | * correct place.
|
13 | 14 | */
|
14 | 15 | final class Driver implements \Bernard\Driver
|
15 | 16 | {
|
16 |
| - private $queueMap; |
17 |
| - |
18 |
| - public function __construct(array $queueMap) |
| 17 | + public function __construct(private array $queueMap) |
19 | 18 | {
|
20 |
| - $this->queueMap = $queueMap; |
21 | 19 | }
|
22 | 20 |
|
23 |
| - /** |
24 |
| - * {@inheritdoc} |
25 |
| - */ |
26 |
| - public function listQueues() |
| 21 | + public function listQueues(): array |
27 | 22 | {
|
28 | 23 | return array_flip($this->queueMap);
|
29 | 24 | }
|
30 | 25 |
|
31 |
| - /** |
32 |
| - * {@inheritdoc} |
33 |
| - */ |
34 |
| - public function createQueue($queueName): void |
| 26 | + public function createQueue(string $queueName): void |
35 | 27 | {
|
36 | 28 | }
|
37 | 29 |
|
38 |
| - /** |
39 |
| - * {@inheritdoc} |
40 |
| - */ |
41 |
| - public function countMessages($queueName): void |
| 30 | + public function removeQueue(string $queueName): void |
42 | 31 | {
|
43 | 32 | }
|
44 | 33 |
|
45 |
| - /** |
46 |
| - * {@inheritdoc} |
47 |
| - */ |
48 |
| - public function pushMessage($queueName, $message): void |
| 34 | + public function pushMessage(string $queueName, string $message): void |
49 | 35 | {
|
50 | 36 | $task = new PushTask($this->resolveEndpoint($queueName), compact('message'));
|
51 | 37 | $task->add($queueName);
|
52 | 38 | }
|
53 | 39 |
|
54 |
| - /** |
55 |
| - * {@inheritdoc} |
56 |
| - */ |
57 |
| - public function popMessage($queueName, $duration = 5): void |
| 40 | + public function popMessage(string $queueName, int $duration = 5): ?Message |
58 | 41 | {
|
| 42 | + return null; |
59 | 43 | }
|
60 | 44 |
|
61 |
| - /** |
62 |
| - * {@inheritdoc} |
63 |
| - */ |
64 |
| - public function acknowledgeMessage($queueName, $receipt): void |
| 45 | + public function acknowledgeMessage(string $queueName, mixed $receipt): void |
65 | 46 | {
|
66 | 47 | }
|
67 | 48 |
|
68 |
| - /** |
69 |
| - * {@inheritdoc} |
70 |
| - */ |
71 |
| - public function removeQueue($queueName): void |
| 49 | + public function info(): array |
72 | 50 | {
|
| 51 | + return []; |
73 | 52 | }
|
74 | 53 |
|
75 |
| - /** |
76 |
| - * {@inheritdoc} |
77 |
| - */ |
78 |
| - public function peekQueue($queueName, $index = 0, $limit = 20) |
| 54 | + public function countMessages(string $queueName): int |
79 | 55 | {
|
80 |
| - return []; |
| 56 | + return 0; |
81 | 57 | }
|
82 | 58 |
|
83 |
| - /** |
84 |
| - * {@inheritdoc} |
85 |
| - */ |
86 |
| - public function info() |
| 59 | + public function peekQueue(string $queueName, int $index = 0, int $limit = 20): array |
87 | 60 | {
|
88 | 61 | return [];
|
89 | 62 | }
|
90 | 63 |
|
91 |
| - /** |
92 |
| - * @param string $queueName |
93 |
| - * |
94 |
| - * @return string |
95 |
| - */ |
96 |
| - private function resolveEndpoint($queueName) |
| 64 | + private function resolveEndpoint(string $queueName): string |
97 | 65 | {
|
98 | 66 | if (isset($this->queueMap[$queueName])) {
|
99 | 67 | return $this->queueMap[$queueName];
|
|
0 commit comments