Commit Graph

782 Commits (71b2229427ceddf02d77b0cd8ac9cba0862bf752)

Author SHA1 Message Date
YuQing e0bbe89d23 connection_pool.[hc] support thread local for performance 2023-09-20 07:40:14 +08:00
YuQing 1c1cb6d5e7 restore epoll timeout when polling_queue is empty 2023-09-19 09:30:11 +08:00
YuQing 70c44ea490 nio thread data support busy_polling_callback 2023-09-18 16:17:34 +08:00
YuQing b4e5a26ba0 function ioevent_reset impl. for RDMA 2023-09-15 16:02:31 +08:00
YuQing f49c5d134a init extra_params when comm_type == fc_comm_type_sock 2023-09-14 09:55:59 +08:00
YuQing db49d54a37 conn_pool_alloc_connection impl. 2023-09-12 16:01:29 +08:00
YuQing c9687df03a ConnectionCallbacks struct changed 2023-09-12 07:53:34 +08:00
YuQing d24023aee7 function fc_alloc_rdma_pd impl. 2023-09-11 11:32:32 +08:00
YuQing 5139ec4682 connection_pool.[hc] support callbacks for RDMA 2023-09-10 20:54:24 +08:00
YuQing bc3a65ee19 add function fc_server_get_group_by_index 2023-09-07 09:34:45 +08:00
YuQing 44f827f291 server_id_func.[hc]: support communication type 2023-09-06 17:24:44 +08:00
YuQing 4a86162913 struct fast_task_info add field conn for RDMA connection 2023-09-05 09:20:07 +08:00
YuQing d5f6a192a5 type define for RDMA network 2023-09-04 08:51:35 +08:00
YuQing 05a694df77 get full mac address of infiniband NIC under Linux 2023-08-27 14:54:51 +08:00
YuQing 4480669e03 uniq_skiplist support arg for free callback 2023-08-05 20:46:35 +08:00
YuQing fafbbb557e bugfixed: array_allocator_alloc MUST init the array 2023-08-02 14:59:57 +08:00
YuQing 896b35603f add macros: MEM_ALIGN_FLOOR/CEIL_BY_MASK 2023-07-09 09:12:37 +08:00
YuQing 3924213c9a sorted_queue.[hc]: pop_compare_func support argument 2023-07-05 16:39:57 +08:00
YuQing 643ecdc906 add functions sorted_queue_lock and sorted_queue_unlock 2023-06-29 16:47:30 +08:00
YuQing 4df1107fa3 add function fc_safe_writev 2023-05-29 18:15:59 +08:00
YuQing 0c588d965e bugfixed: fast_mblock_batch_alloc correct return value 2023-05-28 16:31:53 +08:00
YuQing 8de24ad5b5 add file src/tests/test_thread_local.c 2023-05-24 17:32:06 +08:00
YuQing 8cea8632d7 sorted_queue.[hc] support pop_compare_func 2023-05-23 20:13:38 +08:00
YuQing ccbc201636 bugfixed: MUST set tail->next to mblock->free_chain_head 2023-05-21 10:54:15 +08:00
YuQing e02bb4edc3 fast_mblock_init_ex2 add parameter prealloc_trunk_count 2023-05-19 11:20:30 +08:00
YuQing 0806435fcc fast_allocator.c adapt fast_mblock_malloc_trunk_notify_func 2023-05-15 15:10:01 +08:00
YuQing c00a159fd3 fast_mblock_malloc_trunk_notify_func prototype changed 2023-05-14 20:06:27 +08:00
YuQing 5247caa71a uniq_skiplist_clear impl. more optimization 2023-05-09 07:45:11 +08:00
YuQing 2c5734ab22 add function uniq_skiplist_clear 2023-05-08 17:48:28 +08:00
YuQing a19119f962 sorted_queue_pop_all rename to sorted_queue_pop_to_chain 2023-05-05 08:09:08 +08:00
YuQing 428d13a07b sorted_queue.[hc]: sorted_queue_pop and sorted_queue_pop_all 2023-05-04 20:05:32 +08:00
YuQing 6dbc8b8937 sorted queue use double link chain for quick push 2023-05-04 17:08:51 +08:00
YuQing f1691b7480 lc_pair in struct fc_queue change to lcp 2023-03-27 16:18:32 +08:00
YuQing ee3631d426 struct fast_task_info remove field nio_stages.next 2023-02-12 20:00:48 +08:00
YuQing 6d3d082c6d add field notify_next for nio notify queue 2023-02-12 17:09:32 +08:00
YuQing c5138cc7cf struct fast_task_info add field: nio_stages.next for epoll edge trigger 2023-02-12 10:30:42 +08:00
YuQing 0113263e87 add function get_groups 2023-01-09 16:47:57 +08:00
YuQing fd8fbfe644 parse_bytes support space charactors 2023-01-04 12:20:45 +08:00
YuQing 8ab3420bce add function tcp_socket_connected 2022-12-30 17:18:28 +08:00
YuQing aa2fc62cbb add functions locked_list_move and locked_list_move_tail 2022-12-20 09:00:24 +08:00
YuQing ee70efcd09 fc_fallocate fail back to ftruncate under Linux 2022-12-11 12:43:24 +08:00
YuQing d07058934b bugfixed: can't use global malloc_allocator 2022-11-19 17:13:02 +08:00
YuQing 8e4adccb83 Makefile.in: force symlink library 2022-11-13 17:15:44 +08:00
YuQing 1eb603cfd1 bugfixed: common_blocked_queue_[alloc|free]_node must use lock 2022-11-10 08:47:07 +08:00
YuQing 22c7e31752 shared_func.[hc]: normalize_path use type string_t for general purpose 2022-11-07 08:27:43 +08:00
YuQing 7289215470 sockopt.[hc]: getIpAndPort support ipv6 2022-10-17 15:58:27 +08:00
YuQing 2b0796b166 fc_itoa small refine 2022-09-29 20:55:05 +08:00
YuQing 6ea757f492 add function fc_itoa 2022-09-28 22:13:57 +08:00
YuQing cf66174cf9 add function fc_sleep_us 2022-09-27 20:28:29 +08:00
YuQing 88ad619902 add function common_blocked_queue_push_chain 2022-09-21 21:48:34 +08:00
YuQing 47fb7b2abd get_base_path_from_conf_file_ex support parameter: noent_log_level 2022-09-21 11:35:32 +08:00
YuQing 48ec9c64c6 add func fc_free_iovec_array 2022-09-04 11:29:13 +08:00
YuQing b0d57b325d export struct fast_allocator_wrapper 2022-08-28 17:20:20 +08:00
YuQing 82bbc013b2 fast_allocator.[hc] support object size 2022-08-27 21:24:16 +08:00
YuQing 7e52e7607a fast_allocator.[hc] support object callbacks 2022-08-27 09:49:20 +08:00
YuQing f47f136f56 add functions: iniGetDoubleCorrectValueEx and iniGetPercentCorrectValueEx 2022-08-26 11:02:36 +08:00
YuQing e11b22ad7d struct fast_task_info add field recv_body for dynamic recv buffer 2022-08-25 18:20:41 +08:00
YuQing ed66409220 normalize_path for base_path 2022-08-20 10:04:25 +08:00
YuQing a9e82600b7 add function fc_get_first_lines 2022-07-21 18:30:53 +08:00
YuQing 599d0f1446 add global var g_set_cloexec and macro FC_SET_CLOEXEC 2022-06-25 11:23:43 +08:00
YuQing 4a7d852409 correct O_CLOEXEC to FD_CLOEXEC for F_SETFL 2022-06-25 09:22:25 +08:00
YuQing e254b8e1d3 open file with flag O_CLOEXEC 2022-06-24 18:52:39 +08:00
YuQing aa5506191f add struct type FilenameFDPair 2022-06-12 21:24:37 +08:00
YuQing 7e5acf144b fast_mpool add stat fields: alloc_count, alloc_bytes and reset_count 2022-06-04 22:05:09 +08:00
YuQing 0b539bbba2 json decode supports memory pool for persistency 2022-06-04 12:41:07 +08:00
YuQing 009d33480f tests/test_json_parser.c OK. 2022-06-03 22:03:31 +08:00
YuQing 5f34bc872b add functions common_blocked_queue_empty/count 2022-06-03 15:30:49 +08:00
YuQing 793d683d2a add function fast_mblock_set_exceed_log_level 2022-05-31 18:39:52 +08:00
YuQing 64e9499de6 json decode support unicode 2022-05-29 21:13:00 +08:00
YuQing 275279a264 json_parser.[hc] refined for better performance 2022-05-29 10:55:16 +08:00
YuQing f24c558761 add function iniGetCharValueEx 2022-05-26 10:37:52 +08:00
YuQing 1f83e66306 add function conn_pool_get_connection_ex to support service name 2022-05-08 11:26:17 +08:00
YuQing 630a6a2af6 add function conn_pool_connect_server_ex1 to support service name 2022-05-07 16:53:02 +08:00
YuQing 082902d28b add macro posix_fadvise for non-Linux 2022-04-24 08:13:44 +08:00
YuQing f836b1a9e2 bugfixed: fc_get_file_line_count_ex should rewind file 2022-04-14 16:48:32 +08:00
YuQing 26abf68ebd fast_mblock.[hc] support object destroy callback 2022-03-17 20:50:06 +08:00
YuQing ba011767f8 add functions: fc_get_path_child_count and fc_copy_file 2022-03-16 11:46:43 +08:00
YuQing 7d5e94f9dd rename fc_format_path to fc_remove_redundant_slashes 2022-03-15 08:51:20 +08:00
YuQing 80b751980b add function fc_format_path 2022-03-14 17:10:43 +08:00
YuQing 3fd3b167a8 small changes for logger.[hc] 2022-03-09 09:53:36 +08:00
YuQing 08f74db732 add function fc_check_rename_ex 2022-03-09 08:21:07 +08:00
YuQing 1cb1847b29 add function locked_list_destroy 2022-03-01 15:03:22 +08:00
YuQing 7b9c257652 rename trim to fc_trim 2022-02-25 09:44:15 +08:00
YuQing 9f1d1b6d48 rename hash_xxx to fc_hash_xxx 2022-02-09 22:35:40 +08:00
YuQing 3331b927b3 add function log_try_init2 2022-02-14 09:41:21 +08:00
YuQing e9d186ce99 make.sh: generate macros for dirent fields 2022-02-10 22:18:53 +08:00
YuQing 29cc5af134 add function fc_iov_get_bytes 2022-02-02 20:37:13 +08:00
YuQing 3f20211a52 add const modifier for unification 2022-02-01 21:30:47 +08:00
YuQing a19a0071db sockopt.[hc] support tcpwritev and tcpreadv 2022-01-31 17:03:42 +08:00
YuQing 787eb3a7d6 NULL from parameter for getcwd 2022-01-29 17:18:13 +08:00
YuQing 4b9e2d6517 add function fc_gettid 2022-01-29 15:56:41 +08:00
YuQing 505893dc4c change include <sys/poll.h> to #include <poll.h> 2022-01-28 18:16:28 +08:00
YuQing 34f8c3abb9 correct pthread_rwlockattr getkind_np to setkind_np 2022-01-28 18:05:27 +08:00
YuQing a39005253b check pthread_rwlockattr_getkind_np for porting 2022-01-28 12:44:21 +08:00
YuQing 0410c7fedd add function sched_delay_free_ptr 2022-01-12 11:03:50 +08:00
YuQing 0381982ac2 function fast_mblock_batch_alloc changed 2022-01-09 15:26:27 +08:00
YuQing af68bf5d6a add macros: fc_queue_notify and fc_queue_notify_all 2022-01-06 20:32:05 +08:00
YuQing 7fbdb0cece add macros: ptr_array_allocator_xxx 2022-01-03 10:24:28 +08:00
YuQing 89e1a99129 fastcommon php extension adapt to php 8 2021-12-31 03:15:38 +08:00
YuQing 59acf16fae php7_ext_wrapper.h adapt to php 8 2021-12-31 01:51:50 +08:00
YuQing d9097001b5 mblock stat output support order by used ratio 2021-12-24 17:16:39 +08:00
YuQing d5d317f912 fix cmp_mblock_info for fast_mblock_manager_stat 2021-12-24 11:40:52 +08:00
YuQing 750c2c5e8a normalize_path removes prefix one ./ and multi ../ 2021-12-23 10:04:48 +08:00
YuQing fdb6bfb233 fix test_uniq_skiplist.c compile error 2021-12-16 09:44:16 +08:00
YuQing f6c5256264 fast path for sorted_array_insert 2021-12-14 21:18:30 +08:00
YuQing 0c437d3799 array_allocator.[hc] add parameter: need_lock 2021-12-14 21:15:30 +08:00
YuQing 64ae0757d7 pthread_rwlock_init: use NULL attr for non-Linux 2021-12-12 20:43:20 +08:00
YuQing 720c4a686d mblock add macro FAST_MBLOCK_MAGIC_CHECK for debug 2021-12-12 10:16:06 +08:00
YuQing 87377981ec sorted_queue.h: remove useless field: next_ptr_offset 2021-12-10 10:34:47 +08:00
YuQing 740272e303 typedef TaskContinueCallback function pointer 2021-11-28 10:34:01 +08:00
YuQing 4f29fd71eb sorted_array.[hc]: add function sorted_array_delete_by_index 2021-11-17 20:37:18 +08:00
YuQing 976872192a add macros id_name_array_allocator_xxx 2021-11-17 11:41:53 +08:00
YuQing b03963d4f6 add function sorted_array_find and marco sorted_id_name_array_init 2021-11-16 19:47:14 +08:00
YuQing ce2ee0f482 add macros FC_ATOMIC_SET_LARGER/SMALLER 2021-11-10 16:04:42 +08:00
YuQing 9ca9592326 shared_func.[hc]: add function fc_read_lines 2021-10-19 20:29:15 +08:00
YuQing 09e00bcf5e add functions fc_safe_write_file_init/open/close 2021-10-10 14:45:08 +08:00
YuQing a439b8e62d add macro FC_INIT_CHAIN and FC_IS_CHAIN_EMPTY 2021-10-09 20:54:35 +08:00
YuQing 8acd5e031b sched_thread.[hc]: add function sched_make_first_call_time 2021-09-27 15:51:45 +08:00
YuQing 2432e0bc79 add function fc_queue_alloc_chain 2021-09-22 09:25:28 +08:00
YuQing 1b35cbc094 sorted_queue.c: set notify correctly 2021-09-20 10:40:17 +08:00
YuQing 8491c5d155 add comments for sorted_array.h 2021-09-14 10:05:27 +08:00
YuQing 8717f85608 fast_allocator.c: optimize for the region with single allocator 2021-09-14 08:28:03 +08:00
YuQing 55f1e139a9 add file src/tests/test_sorted_array.c 2021-09-13 16:54:09 +08:00
YuQing 2993b34e80 add files: sorted_array.[hc] 2021-09-13 11:18:45 +08:00
YuQing 81950ac246 add function fc_queue_free_chain 2021-09-11 18:40:26 +08:00
YuQing 7614f789c8 add function sorted_queue_pop_to_queue_ex 2021-09-11 11:47:05 +08:00
YuQing f5fa33611f add files: array_allocator.[hc] 2021-09-10 16:36:14 +08:00
YuQing 6957c19992 fast_mblock.[hc]: add function fast_mblock_free_objects 2021-09-09 08:39:51 +08:00
YuQing a66370d0f8 add files: sorted_queue.[hc] 2021-09-02 21:05:09 +08:00
YuQing e1ef38d6a4 add type void_array_t 2021-08-20 11:01:50 +08:00
YuQing 45da326ce2 add types int32_array_t and int64_array_t 2021-08-19 19:28:15 +08:00
YuQing ebe7d87ca4 locked_list.h adds macros: locked_list_empty, locked_list_first_entry etc. 2021-08-17 15:39:01 +08:00
YuQing c6b2c32fe2 add function: fast_allocator_avail_memory 2021-08-17 10:01:42 +08:00
YuQing b7ecd0d4c4 add function init_pthread_rwlock 2021-08-13 21:10:05 +08:00
YuQing 2fafa215fd add function fc_queue_timedpeek 2021-08-11 11:32:23 +08:00
YuQing 44dcf4f821 add functions getFileContentEx1 and getFileContent1 2021-08-08 15:11:29 +08:00
YuQing 47c4eaeb13 fast_allocator.[hc]: correct reclaim_interval logic 2021-08-06 15:18:36 +08:00
YuQing 3e0f1eb1fc fast_mblock_init_ex1: unify obj name 2021-07-20 20:27:48 +08:00
YuQing 75b2aaee97 open for write MUST have the third parameter: mode 2021-07-01 07:41:29 +08:00
YuQing de879c15ee uniq_skiplist.h: add function uniq_skiplist_iterator_at 2021-06-30 15:05:31 +08:00
YuQing 3ad4a89ff5 process_action support action status 2021-06-26 11:00:52 +08:00
YuQing e10bb45605 correct macro MEM_ALIGN 2021-06-11 11:09:48 +08:00
YuQing a5ee277e2d add macros: MEM_ALIGN_FLOOR and MEM_ALIGN_CEIL 2021-06-11 11:03:26 +08:00
YuQing ba1f8eb38f add function fc_check_realloc_iovec_array 2021-06-08 14:15:24 +08:00
YuQing e6be76eb74 remove compile warning (the compiler is too worried) 2021-06-06 16:25:21 +08:00
YuQing 1d1a766c70 process_restart more gracefully 2021-06-04 17:56:02 +08:00
YuQing e068391c87 add function get_path_block_size and get_device_block_size 2021-06-02 11:07:28 +08:00
YuQing 48f108b40d add function fc_queue_pop_to_queue_ex 2021-06-01 17:08:24 +08:00
YuQing 41681a5eb7 process_stop more gracefully (kill -9 on timeout) 2021-06-01 15:34:18 +08:00
YuQing da2077c6b8 add function get_kernel_version 2021-05-27 10:05:52 +08:00