небольшие изменения

This commit is contained in:
Jganenokk
2026-07-05 19:07:27 +07:00
parent 26f0094705
commit 9f9b0e0734
214 changed files with 27592 additions and 15353 deletions
+20 -3
View File
@@ -11,7 +11,8 @@ const int _maxDecompressedSize = 1048576; // 1 MB
/// Типы команд в протоколе
abstract class CmdType {
static const int request = 0; // запрос клиента / пуш от сервера (направление определяет смысл)
static const int request =
0; // запрос клиента / пуш от сервера (направление определяет смысл)
static const int push = 0; // пуш от сервера (имеет смысл только для incoming)
static const int ok = 1; // ответ: ок
@@ -83,6 +84,21 @@ String messageFromErrorPayload(dynamic payload) {
return s.isNotEmpty ? s : 'Неизвестная ошибка';
}
bool isSessionExpiredPayload(dynamic payload) {
return payload is Map &&
(payload['message'] == 'FAIL_LOGIN_TOKEN' ||
payload['message'] == 'FAIL_WRONG_PASSWORD');
}
void throwIfPacketError(Packet packet) {
if (!packet.isError) return;
final payload = packet.payload;
if (isSessionExpiredPayload(payload)) {
throw SessionExpiredException(messageFromErrorPayload(payload));
}
throw PacketError(messageFromErrorPayload(payload));
}
bool isSessionStateError(Object error) {
if (error is SessionExpiredException) return true;
final text = error.toString().toLowerCase();
@@ -192,7 +208,9 @@ Uint8List _decompressPayload(Uint8List src) {
src[2] == 0x2F &&
src[3] == 0xFD) {
try {
return ZstdCodec(maxDecompressedSize: _maxDecompressedSize).decompress(src);
return ZstdCodec(
maxDecompressedSize: _maxDecompressedSize,
).decompress(src);
} catch (e) {
throw Exception('Zstd decompression error: $e');
}
@@ -218,4 +236,3 @@ Uint8List _decompressPayload(Uint8List src) {
throw Exception('LZ4 block decompression error: $e');
}
}