Commit Graph

536 Commits

Author SHA1 Message Date
levlam
d29c86bb14 Ensure that all network requests are sent and all their responses are processed asynchronously. 2022-10-02 01:53:56 +03:00
levlam
d4d365d31f Remove template ActorOwn::reset. 2022-10-01 16:29:56 +03:00
levlam
be87e4179f Inline ActorOwn::hangup. 2022-10-01 15:58:27 +03:00
levlam
5cb02b8d01 Improve logging for auth key dropping. 2022-09-29 14:50:25 +03:00
levlam
26bd2c71b3 Remove my_id from Global. 2022-08-18 20:21:40 +03:00
levlam
0225f0cab7 Ensure that option values are fetched on launch. 2022-08-18 00:37:19 +03:00
levlam
3318ffdb20 Proxy all option-related requests through G. 2022-08-17 16:11:13 +03:00
levlam
148ded0620 Disable ConfigRecoverer if there are a lot of pending auth keys. 2022-08-10 17:03:38 +03:00
levlam
12d852abc5 Check for close_flag as early as possible. 2022-08-10 13:57:41 +03:00
levlam
898c5c5cf3 Improve error message. 2022-08-02 19:35:35 +03:00
levlam
a817dc8dd0 Fix double increase of total_timeout in NetQueryDelayer and SequenceDispatcher. 2022-08-02 16:51:56 +03:00
levlam
061c4f65d5 Drop context for SemaphoreActor before creation of the actor. 2022-07-20 10:56:48 +03:00
levlam
abc9ed2cd9 Minor fixes. 2022-07-14 18:38:48 +03:00
Arseny Smirnov
bf80c43c05 fix CE 2022-07-14 18:36:46 +04:00
Arseny Smirnov
7ddc3099f6 remove td::this_thread::yield function. usleep_for(1) used instead 2022-07-14 16:15:17 +04:00
levlam
ebebe0300c Move promise_send_closure to PromiseFuture.h. 2022-06-28 14:02:14 +03:00
levlam
32bac7bd24 Move Promise to tdutils. 2022-06-27 13:30:18 +03:00
Arseny Smirnov
8ac019e589 trying to fix bug when active temporary auth key is dropped 2022-06-20 13:18:25 +02:00
levlam
dcb77ce187 Drop SemaphoreActor context. 2022-06-14 16:30:09 +03:00
levlam
782aa6a2ec Minor fixes. 2022-06-14 16:11:38 +03:00
levlam
bfcf52f87c Support MTPROTO_CLUSTER_INVALID error. 2022-06-06 20:36:15 +03:00
levlam
470563c289 Improve log messages. 2022-06-06 17:13:56 +03:00
levlam
1e417ea212 Minor fixes. 2022-06-02 16:19:16 +03:00
levlam
0bc767f943 Pass max_resource_limit as parameter to ResourceManager. 2022-05-20 16:11:31 +03:00
levlam
f93001b0f3 Minor handhake semaphore improvements. 2022-06-11 01:47:00 +03:00
levlam
f95f76c4de Support asynchronous TdDb::open. 2022-06-10 16:44:53 +03:00
Arseny Smirnov
ef3900a853 Use SemaphoreActor for global hanshakes flood limit 2022-06-10 15:17:38 +02:00
levlam
1b5798393d Move FloodControlGlobal to tdutils. 2022-06-09 17:12:59 +03:00
levlam
a30ac1c277 Minor improvements. 2022-06-09 16:38:38 +03:00
Arseny Smirnov
7941672e79 add some kind of global limit for concurrent hanshakes 2022-06-09 11:10:38 +02:00
Arseny Smirnov
852fe4f24b Session: force ack when we received unknown answer 2022-05-03 17:17:36 +04:00
levlam
4b7dab920e Don't update last_success_timestamp_ in Session::on_update with PFS. 2022-05-03 16:06:14 +03:00
Arseny Smirnov
0450b05757 Session: improve key immunity condition 2022-05-03 16:33:09 +04:00
levlam
0d0b641ac6 Log out only if there is main auth key, but it isn't logged in. 2022-05-02 21:41:04 +03:00
levlam
de15cdb1f0 Log out if key check has failed. 2022-05-02 21:17:06 +03:00
levlam
746816e7d7 Add Global::log_out helper. 2022-05-02 20:59:07 +03:00
levlam
d6569d43fd Fix DcAuthManager::check_authorization_is_ok. 2022-05-02 20:44:37 +03:00
levlam
134b7e7d01 Remove unused function. 2022-05-02 20:35:37 +03:00
Arseny Smirnov
449974d425 Double check authorization during start up 2022-05-02 19:34:01 +04:00
levlam
641ee080c1 Improve names of FileType::Secure. 2022-04-25 19:00:40 +03:00
levlam
1a2efed26d Remove NetQuery::set_chain_ids. 2022-04-17 23:21:56 +03:00
levlam
dfa38e059d Improve NetQuery debug. 2022-04-14 12:53:16 +03:00
levlam
f9efb87f7d Improve log message. 2022-03-14 14:08:04 +03:00
levlam
1f38124861 Use FlatHashSet. 2022-03-11 21:38:48 +03:00
levlam
b2e6da4031 Unify actor_id/actor_shared names. 2022-03-05 14:35:19 +03:00
levlam
2b1314295d Check and fix half of FlatHashMap usages. 2022-02-10 00:59:52 +03:00
levlam
7f7b3b6653 Add separate ChainId(DialogId) constructor. 2022-02-08 17:30:06 +03:00
levlam
bcc2adeb47 Fix includes and formatting. 2022-02-08 00:04:34 +03:00
Arseny Smirnov
86bceb2972 td: replace most of std::unordered_map usages to td::FlatHashMap 2022-02-07 21:21:31 +01:00
levlam
822257b90a Resend requests on CONNECTION_NOT_INITED and CONNECTION_LAYER_INVALID errors. 2022-02-07 22:05:01 +03:00
levlam
f3bb075f62 Use InvokeAfter for all queries changing sticker sets. 2022-02-06 00:16:16 +03:00
levlam
b845766bd1 Add class ChainId. 2022-02-05 23:28:43 +03:00
levlam
46e23a407f Use int32 ro store last/next/total_timeout. 2022-02-04 17:05:35 +03:00
levlam
6e82e51243 Remove all NetActorOnce usages. 2022-02-04 00:46:10 +03:00
levlam
649f2b85f5 Rename chains to chain_ids in NetQuery. 2022-02-03 22:32:47 +03:00
levlam
9881a4dbe2 Fix format::as_hex usage. 2022-02-03 14:34:10 +03:00
levlam
02b99d0fbf Remove includes of SequenceDispatcher.h from headers. 2022-02-01 19:34:14 +03:00
Arseny Smirnov
ad38f712e8 SequenceDispatcher: hide usage into NetQueryDispatcher 2022-02-01 18:51:36 +03:00
levlam
b1b945e239 Minor fixes. 2022-01-31 15:56:44 +03:00
levlam
e7406475ff Fix compilation errors. 2022-01-28 19:12:20 +03:00
Arseny Smirnov
452f60be0b SequenceDispatcher: support multiple chains 2022-01-28 17:06:54 +03:00
Arseny Smirnov
355c2950ad ChainScheduler - new implementation of SequenceDispatcher 2022-01-28 15:50:59 +03:00
levlam
81a3544cc8 Drop main auth key if receive 401 for temporary auth key with an error different from AUTH_KEY_PERM_EMPTY and SESSION_PASSWORD_NEEDED. 2022-01-26 21:50:42 +03:00
KnorpelSenf
789b9c0a55 Fix much typos 2022-01-25 16:07:36 +03:00
levlam
fa8feefed7 Reduce total timeout limit to 2 for messages.setTyping. 2022-01-03 08:57:11 +03:00
levlam
8085779cdc Update copyright year. 2022-01-01 03:35:39 +03:00
levlam
8d7bda00a5 Set connection online flag while logging out. 2021-12-02 15:10:51 +03:00
levlam
0c554fbe04 Unify Session::ConnectionInfo field name style. 2021-11-22 14:36:59 +03:00
levlam
21a7d147f5 Ignore 401 from non-main sessions. 2021-11-22 11:52:09 +03:00
levlam
b731414d42 Init some fields just in case. 2021-11-11 17:39:09 +03:00
levlam
6238f0fc89 Minor improvements. 2021-11-10 21:09:28 +03:00
levlam
2392cc7631 Fix some uses after move. 2021-11-10 20:05:41 +03:00
levlam
616b0e6d6f Improve ResultHandler/NetActor td_ private field name. 2021-11-08 15:20:38 +03:00
levlam
5578ecc6b8 Remove NetQuery id from ResultHandler and NetActor. 2021-11-08 14:19:57 +03:00
levlam
3d827b408f Allow to set "utc_time_offset" option. 2021-11-01 22:42:33 +03:00
levlam
88d7b284b4 Add utc_time_offset option. 2021-11-01 22:32:49 +03:00
levlam
00a349656d Unify td/telegram/include order. 2021-10-27 17:32:09 +03:00
levlam
6ecba8cb5d Download emoji sounds from main DC. 2021-10-06 00:55:22 +03:00
levlam
c0fb888c42 Fix GCC 4.9 compilation errors. 2021-10-24 02:09:36 +03:00
levlam
c24501f2d9 Reduce "this" usages. 2021-10-23 21:17:00 +03:00
levlam
0c1469f7c6 Fix TransparentProxy::Callback. 2021-10-22 19:59:15 +03:00
levlam
03c6d53951 Log number of pending requests when Session is closed. 2021-10-22 18:36:35 +03:00
levlam
9f44816a62 Minor improvements. 2021-10-21 12:51:16 +03:00
levlam
1e49f6dc13 Use auto as variable type if it is initialized with a cast. 2021-10-20 01:27:02 +03:00
levlam
db7aa28bdf A lot more minor improvements. 2021-10-19 18:11:16 +03:00
levlam
44a186c7c1 Minor improvements. 2021-10-18 19:26:14 +03:00
levlam
81b38d5607 Mark move constructors/assignment operators noexcept. 2021-10-18 14:36:15 +03:00
levlam
9b7957c9c6 Minor warning fixes. 2021-10-17 13:07:20 +03:00
levlam
328c5b57d2 Add Global::request_aborted_error. 2021-10-07 16:36:21 +03:00
levlam
a160241db7 Improve NetQueryCreator constructor. 2021-10-06 18:47:32 +03:00
levlam
cdb06da112 Add "; pass null" annotations for expected to be null request parameters. 2021-09-28 17:31:00 +03:00
levlam
61c3a2bcf5 Remove TD_EXPERIMENTAL_WATCH_OS. 2021-09-24 13:41:22 +03:00
levlam
db18baa503 Unify include order. 2021-09-19 00:47:05 +03:00
levlam
41c391f140 Update layer to 133. 2021-09-03 12:27:59 +03:00
levlam
74315e2e60 Add mtproto::ConnectionManager. 2021-09-16 19:09:39 +03:00
levlam
a838fff28f Add operator== for ThemeSettings. 2021-09-12 22:39:52 +03:00
levlam
088c3169d4 Minor. 2021-09-10 18:23:23 +03:00
levlam
137543c172 Use send_closure_later in NetQueryDispatcher to break stack chain. 2021-09-10 17:42:24 +03:00
levlam
2062daf9cd Don't wrap updates in NetQuery. 2021-09-10 17:32:39 +03:00
levlam
edfdcc0170 Remove default on_server_salt_updated implementation. 2021-09-10 16:45:39 +03:00