Commit Graph

1264 Commits

Author SHA1 Message Date
levlam a657cf6458 Use random begin() in HashTable. 2022-02-25 00:04:32 +03:00
levlam f298d71c08 HashTable bug fixes. 2022-02-24 22:04:21 +03:00
levlam ecb14f1bdd Minore fixes. 2022-02-24 21:38:57 +03:00
levlam 35cf57eed8 Consistently use uint32 in FlatHashTable. 2022-02-23 22:51:43 +03:00
levlam fe06a1d4fc Fix GCC warnings. 2022-02-23 22:46:32 +03:00
levlam e1909b018e Reduce size of an empty FlatHashTable. 2022-02-23 22:13:40 +03:00
levlam 3da16b4501 Use bucket_count() instead of nodes_.size(). 2022-02-23 18:20:25 +03:00
Arseny Smirnov e2c7601c2b DownloadManager: draft 2022-02-23 19:34:26 +01:00
levlam 6f2a9270a3 Always try shrink after node erasure. 2022-02-23 18:05:56 +03:00
levlam d090929249 Store end_ in iterator instead of map itself. 2022-02-23 17:41:11 +03:00
levlam b307396628 Simplify FlatHashTable implementation. 2022-02-23 16:34:42 +03:00
levlam 73ade8cc43 Randomize hash value and optimize bucket calculation. 2022-02-23 16:27:19 +03:00
levlam b3a784f4ba Properly clear other hashmap after move. 2022-02-23 15:58:12 +03:00
levlam 5f5205ae6c Remove unneeded return values from hashtable move-assignment operators. 2022-02-23 15:50:58 +03:00
levlam 1f12b0d8e8 Allow folly usages only if TD_TEST_FOLLY is defined. 2022-02-23 15:01:53 +03:00
levlam c9c9a73499 Fix swap(fixed_vector) usages. 2022-02-21 05:49:59 +03:00
levlam f0a2ccd0fb Remove value_type from SetNode. 2022-02-21 02:22:01 +03:00
levlam 9e8b2489bd Keep the first value from initializer_list. 2022-02-21 00:33:19 +03:00
levlam 77ccc13181 Add Map/SetNode::copy_from. 2022-02-20 23:03:34 +03:00
levlam 983cc2c45c Various hash table improvements. 2022-02-19 11:34:43 +03:00
levlam 94289c0c9e Fix SCOPE_EXIT redefinition. 2022-02-18 23:25:23 +03:00
levlam ae3854d97c Various fixes. 2022-02-18 23:04:25 +03:00
levlam b5cf85d6e2 Fix compilation error. 2022-02-18 15:15:58 +03:00
Arseny Smirnov 952ac3ed7c FlatHashMap: add MaskSse2 to benchmark 2022-02-18 00:48:33 +01:00
Arseny Smirnov 39934a7f9e FlatHashMap: sse2 support 2022-02-18 00:47:58 +01:00
Arseny Smirnov a356cc7e3d FlatHashMap: optimizations 2022-02-18 00:30:14 +01:00
Arseny Smirnov 5ff92065bf FlatHashMap: fixes for portability 2022-02-17 20:22:46 +01:00
Arseny Smirnov 34a69e3133 FlatHashMap: add implementation with chunks 2022-02-17 19:40:18 +01:00
levlam 512c0cd3c2 Fix formatting. 2022-02-12 00:48:35 +03:00
Arseny Smirnov a11d37dd4c FlatHashMap: fix CE 2022-02-11 18:11:17 +01:00
Arseny Smirnov ecceb51881 FlatHashSet 2022-02-11 17:41:40 +01:00
levlam 15f27455c5 Move other big classes inside FlatHashMap to unique_ptr. 2022-02-11 19:27:32 +03:00
levlam 5b4bea1fef Add HashMap build time benchmark. 2022-02-11 14:46:30 +03:00
levlam 6ae2096d68 Fix HashSet benchmark. 2022-02-11 11:26:58 +03:00
Arseny Smirnov 1a3adc3ee7 FlatHashTable: bugfix 2022-02-10 22:44:40 +01:00
Arseny Smirnov 500c20f7ea FlatHashMap: more benchmarks 2022-02-10 22:34:01 +01:00
levlam b71e330396 Fix tests. 2022-02-11 00:11:02 +03:00
levlam b8ab910b81 Various improvements. 2022-02-10 23:01:28 +03:00
Arseny Smirnov 987e875520 FlatHashMap: support mem_stat->rss in memory benchmark; move memory benchmark in other folder, fix build. 2022-02-10 18:33:23 +01:00
Arseny Smirnov 6bb365567b FlatHashMap: improve memory benchmark 2022-02-10 18:29:52 +01:00
levlam 1a28bbd00c Remove redundant checks from calc_bucket. 2022-02-10 18:30:03 +03:00
Arseny Smirnov 10c59db842 FlatHashMap: simple benchmark for memory usage 2022-02-10 14:37:19 +01:00
Arseny Smirnov f4b3a09646 FlatHashMap: shrink table if too sparse 2022-02-10 14:37:19 +01:00
levlam 9e6d106585 Minor improvements. 2022-02-10 11:55:32 +03:00
Arseny Smirnov 129d12566d FlatHashMap: add tests 2022-02-09 22:22:51 +01:00
Arseny Smirnov 8d8896d7f0 FlatHashMap: remove_if; generic td::table_remove_if 2022-02-09 22:22:51 +01:00
Arseny Smirnov 87354498e4 cmake: use SYSTEM after PUBLIC or PRIVATE in target_link_libraries to avoid error 2022-02-09 22:22:51 +01:00
levlam 967cb9e8a5 Fix compilation error. 2022-02-09 18:41:38 +03:00
levlam 22ed61e1b7 More FlatHashMap usages. 2022-02-09 17:05:27 +03:00
levlam b403a3793d Explicitly check for empty key in FlatHashImpl::find. 2022-02-09 15:41:23 +03:00
levlam 4eacaa3ebd FlatHashMap improvements. 2022-02-09 03:08:18 +03:00
Arseny Smirnov d5e163cd9d FlatHashMap: support initializer_list 2022-02-08 20:47:10 +01:00
Arseny Smirnov d5db554b70 FlatHashMap: benchmark 2022-02-08 19:38:09 +01:00
Arseny Smirnov d0cd7a8926 FlatHashMap: inline with_node usages 2022-02-08 19:38:09 +01:00
Arseny Smirnov 5d074a4b18 FlatHashMap: some optimizations 2022-02-08 19:38:09 +01:00
Arseny Smirnov e3a5b29d20 FlatHashMap: use same code for const and non-const methods 2022-02-08 19:38:09 +01:00
levlam b7a51bd9d5 FlatHashMap improvements. 2022-02-08 02:26:07 +03:00
levlam 5d1e50fd8d Remove wrongly used EqualT in FlatHashMap. 2022-02-08 01:06:57 +03:00
levlam b62ced6d95 Minor improvements. 2022-02-08 00:42:53 +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
Arseny Smirnov 088ce02832 tdutils: FlatHashMap 2022-02-07 21:21:31 +01:00
levlam 0b33522821 Improve ChainScheduler. 2022-02-03 22:01:09 +03:00
levlam 950876b496 Minor improvements. 2022-02-01 18:25:02 +03:00
Arseny Smirnov 7c9d698023 SequenceDispatcher: bugfixes 2022-02-01 17:05:23 +03:00
Arseny Smirnov da4d6318fc SequenceDispatcher: distribute food limits to net queries in the same chain and with the same tl_constructor 2022-02-01 16:06:48 +03:00
Arseny Smirnov 24766fdad8 ChainScheduler: pass new test 2022-02-01 16:04:58 +03:00
Arseny Smirnov b4396f18c6 ChainScheduler: tests and optimizations 2022-02-01 16:02:35 +03:00
levlam c783115974 Fix warnings. 2022-01-31 22:00:00 +03:00
levlam 31e7447158 Disable is_emoji implementation is there is no zlib. 2022-01-31 20:20:31 +03:00
levlam aceb3698f6 Remove unused span helpers without verbs in their name. 2022-01-31 16:27:24 +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 c202974d47 SequenceDispatcher: set error to all NetQueries at tear_down 2022-01-28 17:43:22 +03:00
Arseny Smirnov 355c2950ad ChainScheduler - new implementation of SequenceDispatcher 2022-01-28 15:50:59 +03:00
levlam 4254320148 Add consts for emoji count and the maximum emoji length. 2022-01-14 16:30:50 +03:00
levlam b007cc7a2c Use compressed base64-encoded list of emoji instead of emoji themselves to reduce binary size and stack usage. 2022-01-13 23:43:22 +03:00
KnorpelSenf 789b9c0a55 Fix much typos 2022-01-25 16:07:36 +03:00
levlam 8085779cdc Update copyright year. 2022-01-01 03:35:39 +03:00
levlam 26d2ee649d Add some missing new lines at the end of files. 2021-12-27 14:03:50 +03:00
levlam 5f965a1ea4 Don't try to use "fr-FR" locale, because check for its existence is
broken with musl: https://www.openwall.com/lists/musl/2017/11/08/1.
2021-12-24 15:12:14 +03:00
levlam ff6615e734 Fix some misprints. 2021-12-23 14:18:32 +03:00
levlam eff87996a5 Match animated emoji without selectors. 2021-12-22 13:40:20 +03:00
levlam 957670aa0d Immediately close non-connected sockets. 2021-12-16 23:38:44 +03:00
levlam 01b02e9028 Remove deprecated EM_LOG_DEMANGLE flag. 2021-12-16 19:19:32 +03:00
levlam 1782b8e478 Minor improvements. 2021-12-16 16:16:34 +03:00
levlam 1a98ac8004 Don't use min/max as variable names. 2021-12-15 20:55:03 +03:00
levlam ca8a8ad358 Remove ThreadSafeCounter usage. 2021-12-10 13:31:17 +03:00
levlam 1a9c6fa51c Add more logging. 2021-12-10 13:27:24 +03:00
levlam 106797f7f0 Improve private field names. 2021-12-10 13:07:55 +03:00
levlam 1bb9b7dfa9 Update clang-format to 13.0.1. 2021-12-10 00:27:13 +03:00
levlam a28b5f2fbb Remove explicit verbosity level changes in tests. 2021-11-21 21:41:11 +03:00
levlam bd733c1c6e Fix CheckExitGuard test. 2021-11-18 17:01:05 +03:00
levlam 67aa9cad66 Allocate exactly specified size in ArrayAllocator. 2021-11-18 16:42:01 +03:00
levlam 42ca2dcef5 Add serialize test. 2021-11-18 16:32:12 +03:00
levlam 6f3dc2afb1 Use new/delete instead of ArrayAllocator on external threads. 2021-11-18 16:22:54 +03:00
levlam 32713560b8 Move StackAllocator implementation to cpp. 2021-11-18 15:42:07 +03:00
levlam bf9c78e982 Fix is_emoji. 2021-11-18 14:37:31 +03:00
levlam fb39e5d746 SImplify StackAllocator::Ptr implementation. 2021-11-17 15:15:40 +03:00
levlam 5e70be9d36 Improve CHECK. 2021-11-13 23:50:18 +03:00
levlam b731414d42 Init some fields just in case. 2021-11-11 17:39:09 +03:00
levlam 712197ad6d Mark some constructors as noexcept. 2021-11-10 21:55:50 +03:00
levlam 5a02af8c72 Use const reference if range-based for if appropriate. 2021-11-10 20:39:35 +03:00
levlam 96382d5621 Output no_color only if there was a color. 2021-11-10 19:06:12 +03:00
levlam eb346f5573 Return both first and last error from mkpath. 2021-11-05 10:10:11 +03:00
levlam ca7947cf44 Minor improvements. 2021-11-04 12:46:08 +03:00
levlam 6e8a88be35 Add TlStorerTotString.store_vector_begin. 2021-11-01 19:45:55 +03:00
levlam f743c782bf Move TlStorerToString to TlStorerToString.h. 2021-11-01 19:21:24 +03:00
levlam 5e43075d3b Add TlStorerToString::store_object_field method. 2021-11-01 18:59:35 +03:00
levlam 038abf5466 Add sound to messageAnimatedEmoji. 2021-10-05 23:20:49 +03:00
levlam ffe03ecb10 Add messageAnimatedEmoji. 2021-10-05 16:12:04 +03:00
levlam b5060687cc Add enable_if guards for forwarding constructors. 2021-10-29 15:05:28 +03:00
levlam 51cf4baee6 Fix tests compilation without threads. 2021-10-25 10:37:38 +03:00
levlam c5a2f1570d Remove superflous endif comments. 2021-10-25 10:05:15 +03:00
levlam f7d073baa4 Fix building with TD_EVENTFD_UNSUPPORTED. 2021-10-25 01:46:39 +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 41cc287d66 Improve checks. 2021-10-20 00:54:49 +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 01976bed53 Minor warning fixes. 2021-10-18 15:37:21 +03:00
levlam 81b38d5607 Mark move constructors/assignment operators noexcept. 2021-10-18 14:36:15 +03:00
levlam f35afe23c8 Minor warning fixes. 2021-10-18 12:57:13 +03:00
levlam 0782f56408 Use uint32 instead of unsigned int if possible. 2021-10-17 22:56:40 +03:00
levlam 9b7957c9c6 Minor warning fixes. 2021-10-17 13:07:20 +03:00
levlam e78a5fbecf Explicitly specify namespace td in tdutils tests. 2021-10-14 15:08:35 +03:00
levlam c7ce933520 Improve Windows 11 detection. 2021-10-13 14:01:23 +03:00
levlam f5fe132722 Remove unneeded logging in tests. 2021-10-07 16:56:45 +03:00
levlam 61c3a2bcf5 Remove TD_EXPERIMENTAL_WATCH_OS. 2021-09-24 13:41:22 +03:00
levlam d6f3d9f08a Use error code 400 instead of small error codes. 2021-09-24 10:59:51 +03:00
levlam b6bde1e4c5 Move remove_emoji_modifiers to emoji.h. 2021-09-21 06:32:34 +03:00
levlam 3af0059b94 Add is_emoji method. 2021-09-20 22:30:23 +03:00
levlam db18baa503 Unify include order. 2021-09-19 00:47:05 +03:00
levlam 0b6d40b4b5 Update Unicode data to 14.0.0. 2021-09-18 21:31:50 +03:00
levlam 5a85c8a95b Improve error message. 2021-09-14 12:16:29 +03:00
levlam 47d3806c62 Move TlDowncastHelper to tdutils. 2021-09-12 19:04:22 +03:00
levlam 86de43a048 Remove useless #include comments. 2021-09-03 23:21:44 +03:00
levlam f0180b6132 Suppress warning about an empty file. 2021-09-02 11:51:33 +03:00
levlam bfd76964ea Fix some GCC warnings on Windows. 2021-09-01 19:26:18 +03:00
levlam 84ad2e5b19 Remove redundant semicolons. 2021-08-30 23:27:32 +03:00
levlam 5b6e2d2c90 Add ThreadSafeCounter benchmark. 2021-08-18 19:26:03 +03:00
levlam 5349e63c2b Add Timeout::get_timeout. 2021-08-15 11:15:14 +03:00
levlam 99375ff157 Improve pos checks in KHeap. 2021-08-15 10:59:12 +03:00
levlam 65094f66bd Shrink long KHeap arrays. 2021-08-15 10:46:41 +03:00
levlam 103b0efcaa Simplify JSON generation. 2021-07-27 09:41:11 +03:00
levlam c45535d607 Fix warning. 2021-07-20 03:00:16 +03:00
levlam c5cee50877 Fix TRY_STATUS_PROMISE usage with Result. 2021-07-17 23:37:03 +03:00
levlam a4186f8934 Fix BackoffQueue. 2021-07-04 18:52:48 +03:00
levlam 370d443a9d Explicitly specify inheritance mode. 2021-07-04 18:22:20 +03:00
levlam 40c5d47717 Make inherited classes final if possible. 2021-07-04 05:58:54 +03:00
levlam edfa5d1d98 Use final instead of override. 2021-07-03 23:51:36 +03:00
levlam 3ead565d67 Improve OpenSSL 3.0 support. 2021-07-02 23:34:24 +03:00
levlam 4f00f445b7 Allow leading zeros in port number. 2021-06-27 03:58:26 +03:00
levlam e18ff8a810 Close socket on Windows only after pending write is confirmed. 2021-06-14 19:06:23 +03:00
levlam 924286da8f Use manual checks instead of cmake_minimum_required to propagate policies. 2021-06-13 23:38:48 +03:00
levlam e73394ac98 Add comment about meaning of Working Set and Commit Charge. 2021-06-06 22:53:41 +03:00
levlam 7c4ff60f79 Trim trainling slashes in the parameter of CreateDirectoryFromAppW. 2021-06-05 03:29:44 +03:00
levlam 1ab2f9fe9d Improve maximize_buffer. 2021-06-03 04:11:11 +03:00
levlam 8db4febd4c Minor improvements. 2021-06-02 15:43:56 +03:00
levlam dd687b2f82 Remove superflous const qualifier. 2021-06-02 05:21:15 +03:00
levlam 9cecc116f3 Prefer US spelling of "canceled". 2021-05-31 21:51:48 +03:00
Arseny Smirnov fb2c664f03 Add missed #include<algoritm> 2021-05-28 10:14:51 +00:00
levlam aaba82f5c5 Improve checks in parse_url. 2021-05-26 01:20:49 +03:00
levlam 90e253d90c Remove REGISTER_TESTS define. 2021-05-26 00:41:15 +03:00
levlam 5f0b24926f Split path in HttpUrlQuery. 2021-05-25 04:39:41 +03:00
levlam 200da2c684 Add parse_url_query. 2021-05-24 23:47:18 +03:00
levlam 4cc60bbc25 Move HttpUrl test to separate header. 2021-05-24 23:09:41 +03:00
levlam bb957644cf Add td_api::backgroundFillFreeformGradient. 2021-05-21 01:49:59 +03:00
levlam e1ebf74398 Fix CE. 2021-05-21 02:05:03 +03:00
levlam 5e7adcd1cb Don't include SliceBuilder.h in Status.h. 2021-05-20 23:13:02 +03:00
levlam 7edffa1bc7 Move TsLog out of logging.h. 2021-05-18 17:41:33 +03:00
levlam df4c4b9471 Move TsCerr to separate header. 2021-05-18 17:24:32 +03:00
levlam 674a112bfa Add NullLog.h. 2021-05-18 17:13:26 +03:00
levlam f72195baab Remove TC_* defines. 2021-05-18 16:55:35 +03:00
levlam d34680b83f Remove set_log_fatal_error_callback. Add td_set_log_message_callback, deprecate td_set_log_fatal_error_callback. 2021-05-18 04:41:09 +03:00
levlam 3b0e2f5e85 Added the ability to hook into logging system. 2021-05-17 18:49:09 +03:00
levlam 8231c58335 Rename LogInterface::rotate to after_rotation. 2021-05-17 17:58:33 +03:00
levlam fdeaafa70d tg_cli: always write log to file. 2021-05-17 17:33:26 +03:00
levlam 135f9de4a9 Add CombinedLog.h. 2021-05-17 16:53:35 +03:00
levlam 13a21b4fe2 Make LogInterface::append non-virtual. 2021-05-17 16:18:19 +03:00
levlam a6a4eb6616 Don't include SliceBuilder.h in logging.h. 2021-05-17 15:21:11 +03:00
levlam 17a1015f6b Remove dependency of PSLICE/PSTRING on Logger, move them to separate header and make them always safe. 2021-05-17 03:24:54 +03:00
levlam 29230948c3 Remove redundant LogInterface::rotate overrides. 2021-05-17 02:04:50 +03:00
levlam 083d599c41 Support stacktrace printing on Windows. 2021-05-11 19:27:37 +03:00
levlam b342ec33e5 Likely add Solaris support. 2021-04-30 02:34:12 +03:00
levlam 3007094fb8 Use -Wl,-z,ignore on illumos. 2021-04-30 01:48:01 +03:00
levlam f00d562c5b Silence expected warning. 2021-04-30 01:26:02 +03:00
levlam e1fc85d610 Print warnings about unsupported OS/compiler only once. 2021-04-30 01:24:42 +03:00
Joshua M. Clulow ed291840d3
add illumos support (#1501) 2021-04-29 16:40:08 +03:00
levlam 564b44d3b9 Fix ifdef check. 2021-04-08 22:17:55 +03:00
levlam 6e099908cf Don't use sendmsg on Android. 2021-04-08 14:55:54 +03:00
levlam 9bb79b4b27 Ignore invalid Unicode strings in C++/CX. 2021-04-08 14:43:47 +03:00
levlam 02c9caafc0 Fix FromApp building for UWP. 2021-04-04 23:40:05 +03:00
levlam c36ed586e2 Fix MoveFileExFromAppW. 2021-04-04 02:58:59 +03:00
levlam 2ab94b9ca7 Add checks that SocketFd::read/write/writev return correct response. 2021-04-04 01:08:53 +03:00
levlam e246201cf0 Add checks that FileFd::read/write/pread/pwrite/writev return correct response. 2021-04-04 00:47:30 +03:00
levlam 6285d98479 Fix writev on Windows. 2021-04-04 00:40:37 +03:00
levlam 40740597f7 Add ChainBufferReader::advance debug. 2021-04-02 16:30:10 +03:00
Arseny Smirnov a51b63afdd more checks for watch os version 2021-03-29 16:26:11 +03:00
levlam 4df03c8491 Clamp float numbers before conversion to integers. 2021-03-28 22:33:22 +03:00
Arseny Smirnov 5c7b7d4c85 TD_EXPERIMENTAL_WATCH_OS cmake option 2021-03-26 18:04:25 +03:00
levlam 1c92315439 Fix lpad0 signature. 2021-03-15 18:39:02 +03:00
levlam d5f02b0066 Avoid int64 multiplication. 2021-03-16 14:35:32 +03:00
levlam 29ded98a46 Use full paths for file dependencies. 2021-03-05 23:17:48 +03:00
Arseny Smirnov 0c90ca3784 some cryptography draft 2021-02-10 23:25:28 +03:00
levlam e031a2c6c1 Improve Slice::truncate usage. 2021-02-04 15:54:12 +03:00
levlam 9e37c85af3 Minor improvements. 2021-01-27 02:57:59 +03:00
levlam f5f16a1f5d Add opus extension support. 2021-01-26 11:45:36 +03:00
levlam fc2941763b Fix LibreSSL 3+ support. 2021-01-24 21:59:03 +03:00
levlam 62c18729f1 Fix td::unique. 2021-01-07 04:03:38 +03:00
levlam 82f0386e73 Move some functions from misc.h to algorithm.h. 2021-01-01 16:01:03 +03:00
levlam 52c1da0a70 Update copyright year. 2021-01-01 15:57:46 +03:00
levlam 677f4f6103 Add missing license. 2021-01-01 01:33:43 +03:00
levlam 192fd4862f Use td::unique. 2020-12-30 18:50:57 +03:00
levlam 18be33a18c Add td::unique helper method. 2020-12-30 18:17:22 +03:00
levlam 3c5c23aeec Improve error message. 2020-12-26 20:25:59 +03:00
levlam c1a1fc881c Fix BufferedStdinImpl destruction. 2020-12-24 20:49:08 +03:00
levlam 47e413e0b8 Fix BufferedStdinImpl reference counter. 2020-12-24 19:17:06 +03:00
levlam b582eb346a Undo move_as_native_fd changes. 2020-12-24 18:43:26 +03:00
levlam 1b92e2d57a Return back ScopeExit usage. 2020-12-24 17:16:56 +03:00
levlam c1a16acd53 Don't check that Stdin/Stdout/Stderr are unlocked on exit. 2020-12-24 17:12:50 +03:00
levlam 0787c642ce Fix dlog_print usage on Tizen. 2020-12-23 19:38:58 +03:00
levlam d628f9fa02 FromApp method fixes. 2020-12-23 18:08:34 +03:00
Fela Ameghino 7c14b3b881
Use *FromApp methods when available (#1303) 2020-12-23 11:25:27 +03:00
levlam 7d1e5bca55 Reimplement HMAC for OpenSSL 3.0.0. 2020-12-22 19:32:57 +03:00
levlam 9985f6db6a Add HMAC tests. 2020-12-22 17:54:35 +03:00
levlam abdc727a0f Improve OpenSSL 3.0 compatibility. 2020-12-22 17:46:56 +03:00
levlam a093d36b3f Better fix for ThreadIdGuard destroy after exit. 2020-11-23 00:57:52 +03:00
levlam 4b687582c1 Do not try to use ThreadIdManager after exit. 2020-11-23 00:38:16 +03:00
levlam 30fb689ba3 Speed up Misc_Time test. 2020-11-22 17:20:39 +03:00
levlam ccb30077e7 Make test functions statis if possible. 2020-11-21 20:45:09 +03:00
levlam 77de5110f5 Ensure that Time::now never returns negative time. 2020-11-21 20:33:15 +03:00
levlam 8ef6822557 Remove "using namespace td" from tdutils misc test. 2020-11-20 14:49:14 +03:00
levlam 6ae33a5c27 Fix OptionParser test on Windows. 2020-11-20 03:33:09 +03:00
levlam 57de0c4967 Fix some warnings. 2020-11-20 03:11:27 +03:00
levlam 34cf869c02 Don't use EVP_aes_256_ctr before OpenSSL 1.1.0. 2020-11-20 02:18:12 +03:00
levlam 15b1543e20 Implement OS detection in Emscripten. 2020-11-13 18:04:16 +03:00
levlam 6a2dba9e8c Disable IPV6_V6ONLY on IPv6 server sockets on Windows. 2020-11-10 23:08:54 +03:00
levlam 7febd4f9af Support binding of ServerSocket to IPv6 address. 2020-11-10 00:50:05 +03:00
levlam f9a600c401 Minor fixes. 2020-11-08 14:00:36 +03:00
levlam 431b0bddbc Fix GCC warning. 2020-11-06 18:27:33 +03:00
levlam 7e82a54417 Fix std::is_trivially_copyable usage. 2020-11-06 18:27:19 +03:00
levlam ff0c727ee2 Fix code formatting. 2020-11-06 02:13:12 +03:00
levlam c1de6a7d8d Minor improvements.
GitOrigin-RevId: eb8b201d80405feb6972b2eabc7de30d40aa8b81
2020-11-02 00:43:57 +03:00
levlam 36763888d4 Improve Usage output in OptionParser.
GitOrigin-RevId: 8955f6ce0643fbf871b3f3781bd36568d490eb6c
2020-11-01 01:28:58 +03:00
levlam da6d1d8d74 Add rpad.
GitOrigin-RevId: 5dbc3667ef3e4ffd35cce4a358b3b986ec9bd8f4
2020-10-30 16:21:13 +03:00
levlam 989491466d Add lpad function.
GitOrigin-RevId: d23ef15d200e2b199294de0d10a10e92d7389339
2020-10-22 12:22:35 +03:00
levlam 1ad0b068cd Improve oneline.
GitOrigin-RevId: 6cec8e407f0f5eedb367aea25864033a69e1d1e5
2020-10-22 12:09:32 +03:00
levlam fa91220f88 Remove superflous "struct " specifiers.
GitOrigin-RevId: 317d66fad270e99c4c4e6bc14b172f4c2eec3d6d
2020-10-18 18:29:51 +03:00
levlam fc5bf9ef06 Suppress SIGPIPE signals on write.
GitOrigin-RevId: 19ff2a079a4dc69535e34282bfb2c2f381856def
2020-10-18 18:12:32 +03:00
levlam a8355f1749 Fix compilation error.
GitOrigin-RevId: a23376048dbd9ed09320ec857ae4153048d259ea
2020-10-12 18:44:35 +03:00
levlam a4b71466e0 Minor improvements.
GitOrigin-RevId: 4f0c8840ee69c7a690cb12c5e36231cf9da6d91c
2020-10-12 10:24:30 +03:00
levlam 8b40856d6e Always link OpenSSL with Crypt32 on Windows.
GitOrigin-RevId: 56dd9e21c8175f291222c8d42153dcd50cf57ed9
2020-10-11 23:48:17 +03:00
levlam 22be9b95bf Do not include set in broadly used format.h.
GitOrigin-RevId: 81c2113ef5bfe48868a3a2968efd6cadb1cfccf3
2020-10-11 21:31:01 +03:00
levlam 10a7edfbea Disable logging after program exit.
GitOrigin-RevId: 8ca24e1999fe95f171e18477baa2e56912a2e895
2020-10-11 14:45:22 +03:00
levlam 09f906f192 Protect access to some static variables using ExitGuard.
GitOrigin-RevId: 65c7510c60d585b90e90d09067c7dfdaf79c4cd3
2020-10-11 01:59:27 +03:00
levlam 7207d76a80 Add ExitGuard.
GitOrigin-RevId: f8f04daacbee00386e326eb3ca1ec3dfec19cbb0
2020-10-10 22:37:36 +03:00
levlam 35a9a93fc9 Fix std::...::erase return value usages.
GitOrigin-RevId: d9729ccd619e3b99554f1e1c2262d8826f0a8571
2020-10-08 23:04:40 +03:00
Arseny Smirnov 44e3c6fb58 Revert "Closure.h: use static_assert instead of LOG(FATAL)"
This reverts commit a17ebc84d49ce763ffa64c8db0f85638bb5ace63.

GitOrigin-RevId: deae227b726bdcaead7d7b49f2171a438f58e2c7
2020-10-09 19:56:05 +03:00
Arseny Smirnov 8fcf7740d2 RangeSet (will be used instead of BitMask in files) implementation with tests
GitOrigin-RevId: 977f0776d0b7ef96a31364d2a68cfe980f2845c8
2020-10-09 17:35:53 +03:00
Arseny Smirnov 5926e00320 tdweb works with newest emsdk
GitOrigin-RevId: b52ab5d9e182e1a689933d7a44d3306f0c9151e5
2020-10-08 14:02:53 +03:00
Arseny Smirnov 958b16b8a3 Closure.h: use static_assert instead of LOG(FATAL)
GitOrigin-RevId: a17ebc84d49ce763ffa64c8db0f85638bb5ace63
2020-09-09 19:42:37 +03:00
levlam 582206d641 Use Random::fast_bool.
GitOrigin-RevId: 42da8a237c6dfbb6e72bc5b21482891b6c9d58b5
2020-10-08 12:56:08 +03:00
levlam 291a9ff43b Add Random::fast_bool.
GitOrigin-RevId: 1f7ec3d4a04dcadbdffde18994e7a29f3d22aedc
2020-10-08 12:47:03 +03:00
levlam d2d0cb5cc0 Move log tags definitions out of logging.cpp.
GitOrigin-RevId: 0e74b94ec194f8ee678bb77a04d35df46702b330
2020-10-05 18:07:23 +03:00
levlam b53a28c43e Add fb2 MIME type extension support.
GitOrigin-RevId: c77d8be1d4b5d84610c8acdbc4b6ce34ca8b6c2f
2020-10-05 01:10:42 +03:00
levlam e1954304ea Remove 'using namespace td' from a test.
GitOrigin-RevId: 77374ec20c363e09e497744c3bed67a71b8e2b20
2020-10-02 01:34:32 +03:00
levlam 13cb7c6a13 Fix test.
GitOrigin-RevId: 7416bb7aa65805038267767213634ec0950b3885
2020-10-02 01:24:35 +03:00
levlam 16615d75e8 Fix integer conversion.
GitOrigin-RevId: 7ba9a274f6bff6733818596a676c5169bda24acf
2020-09-30 22:04:57 +03:00
levlam 0c1e5816d4 Fix CE.
GitOrigin-RevId: 642a7ef5ef39d8513acffb1d812546c2e7bd066d
2020-09-30 22:02:39 +03:00
levlam 013db25897 Improve AES CTR test.
GitOrigin-RevId: a65b34e408f972e737489222d9f3e0604582fa3d
2020-09-27 22:07:42 +03:00
levlam 6278121549 Improve AES IGE test.
GitOrigin-RevId: b0b0ac715b062b339f7d64c4695b0fb99b78b409
2020-09-27 22:03:00 +03:00
levlam 705102cba0 Optimize AES CBC.
GitOrigin-RevId: f514011f11ebbea7b6198b9c905a61a990d4e4fe
2020-09-27 21:51:42 +03:00
levlam 657ebfae0c Improve AES CBC test.
GitOrigin-RevId: 03d3cb464c49d9fed9db2104ed1ace3d72579140
2020-09-27 21:03:05 +03:00
levlam 9322bf68cd Move test functions implementation to cpp.
GitOrigin-RevId: eec1d208f410a3f546dfe230d1780ecdac02d3b4
2020-09-27 20:38:23 +03:00
levlam a9a3acf135 Delete unused AesCtrCounterPack and XorBytes classes.
GitOrigin-RevId: 95906d3d54c16928a1250a511e1e66aa8e59c5c6
2020-09-27 15:47:22 +03:00
levlam 4d67801710 Use EVP_aes_256_ctr for AES CTR implementation.
GitOrigin-RevId: e9218b6eec8f5e4a11eea24324f6c8478f6f1293
2020-09-27 15:46:11 +03:00
levlam 2e50410dcc Allow to disable stderr redirect when logging to file.
GitOrigin-RevId: 7b91d362695cd73a640a9ed2a5d107b804536a16
2020-09-27 14:37:35 +03:00
levlam 90ee4bd63c Minor fixes.
GitOrigin-RevId: ef4e2cfe4f198caec26daf04423eb26afedde5bb
2020-09-24 19:15:42 +03:00
levlam 4357a24a1c Fix aes_ige_encrypt/aes_ige_decrypt.
GitOrigin-RevId: 7f4a7f86e1fbabe5bfe020fe95586a6030765977
2020-09-22 18:05:58 +03:00
levlam 21969e4d02 Fix print_int.
GitOrigin-RevId: caff5ca11c300aef7658a029028d252253c4176c
2020-09-20 22:51:03 +03:00
levlam 72b63e2533 Support Unicode command line arguments on Windows.
GitOrigin-RevId: c4e20183cac0e98964850fb6a78c020996489bc1
2020-09-14 23:32:13 +03:00
levlam 98adef1145 Move url_decode to tdutils.
GitOrigin-RevId: bd9ef4caa56996a96626b16998b423ab304b9ee6
2020-09-14 18:58:39 +03:00
levlam 16bd7bd98e Add checks that delete is not called for incomplete type.
GitOrigin-RevId: 19755ebbee56eb874e84fd8544899fd70a78df7f
2020-09-14 18:11:34 +03:00
levlam 0ad6ff0599 Add usage in OptionParser.
GitOrigin-RevId: 0a15b69eda345c0fbc503afc26c6787f5fbcaa8e
2020-09-14 17:04:45 +03:00
levlam bc000b5a53 Add OptionParser::parse_string helper.
GitOrigin-RevId: 506b1d9c1b6cfb6029bb87e32a98f08b0d16b2d4
2020-09-14 14:51:52 +03:00
levlam 91942f29d3 Add OptionParser::parse_integer helper function.
GitOrigin-RevId: d202848b64c27bb260e189783722508684b633c5
2020-09-14 14:45:22 +03:00
levlam b8e0201694 Align long options in OptionParser usage.
GitOrigin-RevId: 496c90e876c02ba923e3d7dac7e04a57b4e9766c
2020-09-14 14:33:42 +03:00
levlam 96835d417b Improve OptionParser error messages.
GitOrigin-RevId: 97795e0a64122986e78d01a34205317fc5bef835
2020-09-14 14:22:43 +03:00
levlam d46fa34869 Fix Linux CE.
GitOrigin-RevId: 7758d3fe4cc16210338f739e2dcc748d55e808a5
2020-09-02 17:22:30 +03:00
levlam 07237a18be Fix Logger const-correctness.
GitOrigin-RevId: 437ed337638a9841f7695fd77b89191f1b36c584
2020-09-02 17:10:10 +03:00
levlam 2c4953386a Optimize logging of const strings.
GitOrigin-RevId: af8de902d07c4862a77e0d8050db47ee1ccacbf6
2020-08-20 22:28:00 +03:00
levlam f266aa3912 Minor fixes.
GitOrigin-RevId: a4aacfa1ecab2718475d32bcbd99f9671ba7e982
2020-08-14 22:51:10 +03:00
Arseny Smirnov 9c40e37288 Clocks: use CLOCK_[BOOTTIME,MONOTONIC_RAW] for Clocks::monotonic
GitOrigin-RevId: 729311e1a7a36a9245ecdb5921b81c4834ec1dc6
2020-08-14 20:41:00 +03:00
Arseny Smirnov 775ef44ed8 Clocks: use CLOCK_[UPTIME|UPTIME_RAW|BOOTIME] when possible for Clocks::monotonic
GitOrigin-RevId: d0aeb9d98d54b298093cba3b2ca97c6ab16eba28
2020-08-14 19:51:45 +03:00
levlam b6c915c2f8 Fix BufferSlice self-move.
GitOrigin-RevId: 904ea326cc860dd92c49d319fc5fabde22a35223
2020-08-11 07:23:25 +03:00
levlam 14014e3f3d Do nothing for 0 BufferSlice size change.
GitOrigin-RevId: 2a57325e4f8b7be83db671f561bce9a98de92622
2020-08-11 05:52:56 +03:00
levlam fe5bf41980 Minor improvements.
GitOrigin-RevId: 45477784ae1840f217b9394e3d0cc56e1241f9ce
2020-08-07 22:14:42 +03:00
Arseny Smirnov c48ef93e1e tdutils: add skip_eintr_timeout and use it for EventFd
GitOrigin-RevId: 716218731f914e89e6f1e542054298380441b522
2020-08-07 18:50:33 +03:00
levlam e4ecebc6bb Do not include unused headers on Windows.
GitOrigin-RevId: bf9d0c15d6271019253fe4157c9db42c34528f7b
2020-08-07 11:59:21 +03:00
levlam 4455b66e8b Fix BufferSlice size statistics.
GitOrigin-RevId: 2dcfeb4981435b93106df5817c849df8a94ba14f
2020-08-05 03:21:10 +03:00
levlam 5749ddf33d Minor fixes.
GitOrigin-RevId: 6d9a609ab9c773d1e4f3fe81f84947e142e15f35
2020-08-04 22:48:23 +03:00
Arseny Smirnov e75860b2ae BufferSlice: stats of total BufferSlices size
GitOrigin-RevId: df712161ba00c4f3d6eae9b6459c69ee046a9bda
2020-08-04 21:37:47 +03:00
Arseny Smirnov f74d8ba023 tests: create Test instance only when it is needed
GitOrigin-RevId: 06bd6063018040bfee9e3081d77c24683940eb34
2020-08-04 15:22:16 +03:00
levlam 951e35e493 Minor logging speed up.
GitOrigin-RevId: a6c514665465d3527123a3847790a77e61ce534a
2020-08-04 01:39:52 +03:00
levlam d6b2fc0e17 Improve MemoryLog buffer size checks.
GitOrigin-RevId: f7f270f7e2587aadb5d682aca4c7279dd27d770f
2020-08-04 01:23:48 +03:00
levlam 37e87bddf5 Improve MemoryLog.
GitOrigin-RevId: 8ba9661f6b673ca0082f7bd4d75b2046faed93fe
2020-08-04 01:19:45 +03:00
levlam 4cbc6035e7 Minor logging speed improvement.
GitOrigin-RevId: b09db1051a11e477f20bfb35fd9a37c9173a8c2a
2020-08-04 01:07:49 +03:00
levlam 4a0eeb5792 Significantly improve logging speed.
GitOrigin-RevId: 5ac20138653e0d43b729406296f6dc1c2d790dd7
2020-08-03 23:38:28 +03:00
levlam e5fa1c3c7f Bench full logging time in log test.
GitOrigin-RevId: e224260d4f81f622af09c2df8f529dcced2ed0c2
2020-08-03 23:08:03 +03:00
levlam f7011a3853 Remove legacy LogInterface::append method.
GitOrigin-RevId: 36869b2f405ed9af7b97845285d336b6dce1b480
2020-08-02 05:14:08 +03:00
levlam 462197e260 Bench logs with variable number of threads.
GitOrigin-RevId: 08e2af2e8fa53b9cec8ac70c3922c6912dd39ff1
2020-08-02 04:34:49 +03:00
levlam dc96827a93 Add MemoryLog to LogInterface benchmarks.
GitOrigin-RevId: 5169c7b0d3e376323fd229212b95d17f65487e8f
2020-08-02 04:26:37 +03:00
levlam 5285a02cf8 Remove some logging in tests.
GitOrigin-RevId: 35194c43063ec1b65d67b3d58157ab77d7819691
2020-08-02 01:40:48 +03:00
Arseny Smirnov bbea867145 TsList: make lock non-static again
GitOrigin-RevId: 7df7dee8bf609f928b351b448c9e132fb2118942
2020-07-31 16:07:07 +03:00
Arseny Smirnov cacabaf6d1 NetQueryStats
GitOrigin-RevId: 5a04b322e12e2838b1d7f812fcf06bff4eefbace
2020-07-30 17:28:56 +03:00
levlam ab5d35371b Ensure that OpenSSL is linked against needed Windows libraries.
GitOrigin-RevId: d2928c94ebe6565e155f81db8ccc24c4c5d69a54
2020-07-28 01:34:35 +03:00
levlam 2b685a2396 Use lowercase includes under MinGW.
GitOrigin-RevId: e3d10420725def0b9b05ecea0aecfffaa2d13ce9
2020-07-26 17:14:38 +03:00
levlam 9ff056e77f Link to lowercase libraries when building using MinGW.
GitOrigin-RevId: 0c9c122ed16a4d9ebb0c5ea44301cd4dcd4f9d60
2020-07-26 16:49:09 +03:00
levlam be38eb5b24 Minor changes.
GitOrigin-RevId: d6175b96bf764800bd20d3c9eef789ba4c1fcbf5
2020-07-26 15:55:33 +03:00
levlam b45f8ba3a0 Minor fixes.
GitOrigin-RevId: b7985efd4257bc9bb2b2672f94c5f5671e19dd0f
2020-07-26 14:24:30 +03:00
Arseny Smirnov 47d2e8276a SslStream: fix ByteFlow logic
GitOrigin-RevId: 37e5ecd1480e0bb3035ea5ce0f10261cedfd1612
2020-07-24 18:49:33 +03:00
Arseny Smirnov 2b52849b70 TsList: fix race in 'validate'
GitOrigin-RevId: 8006f9f6861557d9232008bc4dd6bb78f2173e3a
2020-07-24 12:32:27 +03:00
levlam 33ba70b3e4 Fix warning.
GitOrigin-RevId: 8e948bb9cf9c6f9441c3665579334eaa3e963408
2020-07-23 21:47:34 +03:00
levlam a02f8d610d Speed up tests execution.
GitOrigin-RevId: 5bcac989d87a04ef8510c47232e3525c4e610073
2020-07-23 17:59:48 +03:00
Arseny Smirnov c4921adcad Gzip: more tests (with watermark and memory limit)
GitOrigin-RevId: b8eacf5a27d646b9265d2fe43b847888ad58f5af
2020-07-23 16:39:13 +03:00
Arseny Smirnov 93e0a10ffb ByteFlow: bugfix and test improvement
GitOrigin-RevId: 53f684cc96c52cbde4cb2109670f57714724fccc
2020-07-23 14:39:28 +03:00
levlam 813e2b2961 Fix misprint.
GitOrigin-RevId: cec8d77edaf44c5527af694300118ad28748f5f4
2020-07-23 02:12:00 +03:00
levlam f8fd7e410e Fix signal handler reset on Windows.
GitOrigin-RevId: 5ca829e660728b054ee6413ac4899e109827ea81
2020-07-22 23:18:54 +03:00
Arseny Smirnov 9ea1bc824f ByteFlow: backpressure draft
GitOrigin-RevId: 09adce82dd88fcf84f41e525e45b07da03acc0f6
2020-07-22 21:52:00 +03:00
levlam 8049a55081 Minor.
GitOrigin-RevId: 9ce34cfb96d0a86a71d95f1d12d8365d268285e0
2020-07-21 19:48:01 +03:00
Arseny Smirnov 38ef3a75cc PollableFd: explicit sync_with_poll
GitOrigin-RevId: 71fa35a594816e84e372ebcfa9d0077a13f26a62
2020-07-21 18:29:39 +03:00
levlam ceb49d0143 Simplify parser.start_with usage.
GitOrigin-RevId: 465e51bba514259ebe15976d2612e1a46754a841
2020-07-21 14:24:55 +03:00
levlam 23534d218f Use static mutext in TsList.
GitOrigin-RevId: 00bd863b3d5499d463e838771fe5e4bc9b16a31e
2020-07-21 02:05:15 +03:00
levlam 6b00f2fe6b Update cache after profile photo deletion instead of dropping it.
GitOrigin-RevId: 0bb120eeececb7706016aec01accd4f6194deef4
2020-07-20 17:05:49 +03:00
levlam 01d768ff7e Use global namespaces in defines.
GitOrigin-RevId: f4bb51050ae51d4ff2baddd23dbd0e237f4b8283
2020-07-19 22:00:47 +03:00
levlam 37fa018c28 Increase max content size in HttpReader.
GitOrigin-RevId: c31b929989d4ab3d4baf6e487488a27b190a11c1
2020-07-19 13:17:05 +03:00
levlam 3f2e269162 Fix FloodControlStrict.
GitOrigin-RevId: 664841f3e58cce5bce3ad90ef42f23537dc07c16
2020-07-16 22:36:59 +03:00
levlam 060c01ace3 Minor improvements.
GitOrigin-RevId: b4e5073248377d84cb8acdf4a032970ec5cf5df9
2020-07-14 20:54:38 +03:00
Arseny Smirnov 9b98451c43 IPAddress: function to clear interface part of ipv6
GitOrigin-RevId: ff738e215e458bc9e7257e9a89c318fb01cdb345
2020-07-14 17:22:40 +03:00
levlam 76056bebf8 Fix ARM MSVC CE with "alignas(16) will be ignored" error.
GitOrigin-RevId: cd8c12dab843c5f8a1a93e71df75d6bb6fd5c573
2020-07-14 17:14:35 +03:00
levlam 06576b909b Fix warning.
GitOrigin-RevId: ae3d69f8c8353c996ac97e949cb473c08838ef68
2020-07-14 04:09:06 +03:00
levlam 7767842d4c Minor fixes.
GitOrigin-RevId: b9f67c5e5edf818610c1739533f01a7873e6e1b6
2020-07-14 03:37:04 +03:00
levlam cae55c5a54 Fix misprint.
GitOrigin-RevId: 0659d2d6949a03234a0951aca8652dec9a692636
2020-07-13 23:13:41 +03:00
levlam c89412e175 Minor improvements.
GitOrigin-RevId: 8942b7461a1c83f963510c9884cd003948967fd0
2020-07-13 21:49:07 +03:00
levlam 9f914e3607 Improve time output in tests.
GitOrigin-RevId: 0ec28f2963de5ad2389f8e8237797ef4aa049625
2020-07-13 15:59:19 +03:00
levlam 32d7822746 Remove LogOptions copying.
GitOrigin-RevId: 1483e8978387719a8b4b1736a1cf0c8a5b2e5301
2020-07-12 15:08:50 +03:00
levlam 448a765cda Remove wrong assert.
GitOrigin-RevId: f7332c17d9746d9deccab802de970ca0651552bd
2020-07-06 17:45:33 +03:00
levlam a7bd0c3932 Add photo to *FullInfo.
GitOrigin-RevId: 21346a0880239abe428799fa58b9132abded6f13
2020-07-06 15:26:29 +03:00
levlam 4a5a6e708f Speed up test execution.
GitOrigin-RevId: f52b544d3373d008a63bf7a94e6985c108112581
2020-07-05 03:25:44 +03:00