Skip to content

Commit ddef0aa

Browse files
committed
Update dependencies and improve search method
1 parent da2e173 commit ddef0aa

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
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 & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,7 @@ public function search($searchTarget = 'ssdp:all', $mx = 2)
4646
$socket = $this->multicast->createSender();
4747
// TODO: The TTL for the IP packet SHOULD default to 2 and SHOULD be configurable.
4848

49-
$timer = $this->loop->addTimer($mx, function() use ($socket, &$deferred) {
50-
$deferred->resolve();
51-
$socket->close();
52-
});
49+
$messages = array();
5350

5451
$loop = $this->loop;
5552
$deferred = new Deferred(function () use ($socket, &$timer, $loop) {
@@ -59,9 +56,15 @@ public function search($searchTarget = 'ssdp:all', $mx = 2)
5956
throw new RuntimeException('Cancelled');
6057
});
6158

59+
$timer = $this->loop->addTimer($mx, function() use ($socket, &$deferred, &$messages) {
60+
$deferred->resolve($messages);
61+
$socket->close();
62+
});
63+
6264
$that = $this;
63-
$socket->on('message', function ($data, $remote) use ($deferred, $that) {
65+
$socket->on('message', function ($data, $remote) use (&$messages, $that) {
6466
$message = $that->parseMessage($data, $remote);
67+
$messages[] = $message;
6568

6669
$deferred->progress($message);
6770
});

0 commit comments

Comments
 (0)