Skip to content

Commit af550ae

Browse files
committed
Dependency updates + search method
1 parent 72de92f commit af550ae

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
},
2323
"require": {
2424
"php": ">=5.3",
25-
"clue/multicast-react": "^1.0 || ^0.2",
25+
"clue/multicast-react": "1.x-dev#f1bd5df0309b9f8b3486b09bf37aedfb042addb6",
2626
"react/event-loop": "^1.2",
27-
"react/promise": "^2.0 || ^1.0"
27+
"react/promise": "^3.2 || ^2.7 || ^1.2.1"
2828
},
2929
"require-dev": {
3030
"phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36"

src/Client.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,7 @@ public function search($searchTarget = 'ssdp:all', $mx = 2)
5252
$socket = $this->multicast->createSender();
5353
// TODO: The TTL for the IP packet SHOULD default to 2 and SHOULD be configurable.
5454

55-
$timer = $this->loop->addTimer($mx, function() use ($socket, &$deferred) {
56-
$deferred->resolve();
57-
$socket->close();
58-
});
59-
55+
$messages = array();
6056
$loop = $this->loop;
6157
$deferred = new Deferred(function () use ($socket, &$timer, $loop) {
6258
// canceling resulting promise cancels timer and closes socket
@@ -65,11 +61,15 @@ public function search($searchTarget = 'ssdp:all', $mx = 2)
6561
throw new RuntimeException('Cancelled');
6662
});
6763

64+
$timer = $this->loop->addTimer($mx, function() use ($socket, &$deferred, &$messages) {
65+
$deferred->resolve($messages);
66+
$socket->close();
67+
});
68+
6869
$that = $this;
69-
$socket->on('message', function ($data, $remote) use ($deferred, $that) {
70+
$socket->on('message', function ($data, $remote) use (&$messages, $that) {
7071
$message = $that->parseMessage($data, $remote);
71-
72-
$deferred->progress($message);
72+
$messages[] = $message;
7373
});
7474

7575
$socket->send($data, self::ADDRESS);

0 commit comments

Comments
 (0)