Linux unitednationsplay.com 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
nginx/1.20.1
Server IP : 188.130.139.92 & Your IP : 216.73.216.148
Domains :
Cant Read [ /etc/named.conf ]
User : web
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
home /
www /
3 /
cboden /
ratchet /
src /
Ratchet /
Wamp /
Delete
Unzip
Name
Size
Permission
Date
Action
Exception.php
70
B
-rw-r--r--
2017-12-12 09:00
JsonException.php
904
B
-rw-r--r--
2017-12-12 09:00
ServerProtocol.php
4.65
KB
-rw-r--r--
2017-12-12 09:00
Topic.php
2.32
KB
-rw-r--r--
2017-12-12 09:00
TopicManager.php
3.02
KB
-rw-r--r--
2017-12-12 09:00
WampConnection.php
3.42
KB
-rw-r--r--
2017-12-12 09:00
WampServer.php
1.81
KB
-rw-r--r--
2017-12-12 09:00
WampServerInterface.php
1.92
KB
-rw-r--r--
2017-12-12 09:00
Save
Rename
<?php namespace Ratchet\Wamp; use Ratchet\ConnectionInterface; use Ratchet\WebSocket\WsServerInterface; class TopicManager implements WsServerInterface, WampServerInterface { /** * @var WampServerInterface */ protected $app; /** * @var array */ protected $topicLookup = array(); public function __construct(WampServerInterface $app) { $this->app = $app; } /** * {@inheritdoc} */ public function onOpen(ConnectionInterface $conn) { $conn->WAMP->subscriptions = new \SplObjectStorage; $this->app->onOpen($conn); } /** * {@inheritdoc} */ public function onCall(ConnectionInterface $conn, $id, $topic, array $params) { $this->app->onCall($conn, $id, $this->getTopic($topic), $params); } /** * {@inheritdoc} */ public function onSubscribe(ConnectionInterface $conn, $topic) { $topicObj = $this->getTopic($topic); if ($conn->WAMP->subscriptions->contains($topicObj)) { return; } $this->topicLookup[$topic]->add($conn); $conn->WAMP->subscriptions->attach($topicObj); $this->app->onSubscribe($conn, $topicObj); } /** * {@inheritdoc} */ public function onUnsubscribe(ConnectionInterface $conn, $topic) { $topicObj = $this->getTopic($topic); if (!$conn->WAMP->subscriptions->contains($topicObj)) { return; } $this->cleanTopic($topicObj, $conn); $this->app->onUnsubscribe($conn, $topicObj); } /** * {@inheritdoc} */ public function onPublish(ConnectionInterface $conn, $topic, $event, array $exclude, array $eligible) { $this->app->onPublish($conn, $this->getTopic($topic), $event, $exclude, $eligible); } /** * {@inheritdoc} */ public function onClose(ConnectionInterface $conn) { $this->app->onClose($conn); foreach ($this->topicLookup as $topic) { $this->cleanTopic($topic, $conn); } } /** * {@inheritdoc} */ public function onError(ConnectionInterface $conn, \Exception $e) { $this->app->onError($conn, $e); } /** * {@inheritdoc} */ public function getSubProtocols() { if ($this->app instanceof WsServerInterface) { return $this->app->getSubProtocols(); } return array(); } /** * @param string * @return Topic */ protected function getTopic($topic) { if (!array_key_exists($topic, $this->topicLookup)) { $this->topicLookup[$topic] = new Topic($topic); } return $this->topicLookup[$topic]; } protected function cleanTopic(Topic $topic, ConnectionInterface $conn) { if ($conn->WAMP->subscriptions->contains($topic)) { $conn->WAMP->subscriptions->detach($topic); } $this->topicLookup[$topic->getId()]->remove($conn); if (0 === $topic->count()) { unset($this->topicLookup[$topic->getId()]); } } }