mirror of
https://github.com/danog/MadelineProto.git
synced 2025-01-10 21:48:16 +01:00
Cleanup
This commit is contained in:
parent
6f9a616510
commit
cfa546d7f7
@ -31,6 +31,7 @@ use danog\MadelineProto\Loop\Connection\CleanupLoop;
|
|||||||
use danog\MadelineProto\Loop\Connection\HttpWaitLoop;
|
use danog\MadelineProto\Loop\Connection\HttpWaitLoop;
|
||||||
use danog\MadelineProto\Loop\Connection\ReadLoop;
|
use danog\MadelineProto\Loop\Connection\ReadLoop;
|
||||||
use danog\MadelineProto\Loop\Connection\WriteLoop;
|
use danog\MadelineProto\Loop\Connection\WriteLoop;
|
||||||
|
use danog\MadelineProto\MTProto\MTProtoIncomingMessage;
|
||||||
use danog\MadelineProto\MTProto\MTProtoOutgoingMessage;
|
use danog\MadelineProto\MTProto\MTProtoOutgoingMessage;
|
||||||
use danog\MadelineProto\MTProtoSession\Session;
|
use danog\MadelineProto\MTProtoSession\Session;
|
||||||
use danog\MadelineProto\Stream\BufferedStreamInterface;
|
use danog\MadelineProto\Stream\BufferedStreamInterface;
|
||||||
@ -307,8 +308,9 @@ final class Connection
|
|||||||
EventLoop::queue($lock->release(...));
|
EventLoop::queue($lock->release(...));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public function wakeupHandler(): void
|
public function wakeupHandler(MTProtoIncomingMessage $message): void
|
||||||
{
|
{
|
||||||
|
$this->new_incoming->enqueue($message);
|
||||||
\assert($this->handler !== null);
|
\assert($this->handler !== null);
|
||||||
Assert::true($this->handler->resume() || $this->handler->isRunning(), "Could not resume handler!");
|
Assert::true($this->handler->resume() || $this->handler->isRunning(), "Could not resume handler!");
|
||||||
}
|
}
|
||||||
|
@ -120,7 +120,6 @@ final class ReadLoop extends Loop
|
|||||||
return self::STOP;
|
return self::STOP;
|
||||||
}
|
}
|
||||||
$this->connection->httpReceived();
|
$this->connection->httpReceived();
|
||||||
$this->connection->wakeupHandler();
|
|
||||||
return self::CONTINUE;
|
return self::CONTINUE;
|
||||||
}
|
}
|
||||||
public function readMessage(): ?int
|
public function readMessage(): ?int
|
||||||
@ -251,8 +250,7 @@ final class ReadLoop extends Loop
|
|||||||
$message->setSeqNo($seq_no);
|
$message->setSeqNo($seq_no);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->connection->new_incoming->enqueue($message);
|
$this->connection->wakeupHandler($message);
|
||||||
$this->connection->incoming_messages[$message_id] = $message;
|
|
||||||
$this->connection->incomingCtr?->inc();
|
$this->connection->incomingCtr?->inc();
|
||||||
} finally {
|
} finally {
|
||||||
$this->connection->reading(false);
|
$this->connection->reading(false);
|
||||||
|
@ -147,6 +147,7 @@ final class MTProtoIncomingMessage extends MTProtoMessage
|
|||||||
*/
|
*/
|
||||||
public function read(): array
|
public function read(): array
|
||||||
{
|
{
|
||||||
|
$this->ack();
|
||||||
$this->state |= self::STATE_READ;
|
$this->state |= self::STATE_READ;
|
||||||
$content = $this->content;
|
$content = $this->content;
|
||||||
$this->content = ['_' => $content['_']];
|
$this->content = ['_' => $content['_']];
|
||||||
|
@ -135,7 +135,6 @@ trait ResponseHandler
|
|||||||
}
|
}
|
||||||
private function handleNewSession(MTProtoIncomingMessage $message): void
|
private function handleNewSession(MTProtoIncomingMessage $message): void
|
||||||
{
|
{
|
||||||
$message->ack();
|
|
||||||
$this->shared->getTempAuthKey()->setServerSalt($message->read()['server_salt']);
|
$this->shared->getTempAuthKey()->setServerSalt($message->read()['server_salt']);
|
||||||
if ($this->API->authorized === \danog\MadelineProto\API::LOGGED_IN
|
if ($this->API->authorized === \danog\MadelineProto\API::LOGGED_IN
|
||||||
&& isset($this->API->updaters[UpdateLoop::GENERIC])
|
&& isset($this->API->updaters[UpdateLoop::GENERIC])
|
||||||
@ -162,7 +161,6 @@ trait ResponseHandler
|
|||||||
}
|
}
|
||||||
private function handleMsgCopy(MTProtoIncomingMessage $message): void
|
private function handleMsgCopy(MTProtoIncomingMessage $message): void
|
||||||
{
|
{
|
||||||
$message->ack();
|
|
||||||
$content = $message->read();
|
$content = $message->read();
|
||||||
$referencedMsgId = $content['msg_id'];
|
$referencedMsgId = $content['msg_id'];
|
||||||
if (isset($this->incoming_messages[$referencedMsgId])) {
|
if (isset($this->incoming_messages[$referencedMsgId])) {
|
||||||
@ -187,7 +185,6 @@ trait ResponseHandler
|
|||||||
if ($message->unencrypted) {
|
if ($message->unencrypted) {
|
||||||
throw new SecurityException("Can't accept unencrypted result!");
|
throw new SecurityException("Can't accept unencrypted result!");
|
||||||
}
|
}
|
||||||
$message->ack();
|
|
||||||
$response = $response['result'];
|
$response = $response['result'];
|
||||||
}
|
}
|
||||||
if (!isset($this->outgoing_messages[$requestId])) {
|
if (!isset($this->outgoing_messages[$requestId])) {
|
||||||
|
Loading…
Reference in New Issue
Block a user