Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/happyfish100/libfastcommon
c common functions library extracted from my open source project FastDFS. this library is very simple and stable. functions including: string, logger, chain, hash, socket, ini file reader, base64 encode / decode, url encode / decode, fast timer, skiplist, object pool etc. detail info please see the c header files.
https://github.com/happyfish100/libfastcommon
avl-tree c-library connection-pool fastdfs id-generator ini-parser object-pool process-control skiplist socket-io system-info task-scheduler
Last synced: 19 days ago
JSON representation
c common functions library extracted from my open source project FastDFS. this library is very simple and stable. functions including: string, logger, chain, hash, socket, ini file reader, base64 encode / decode, url encode / decode, fast timer, skiplist, object pool etc. detail info please see the c header files.
- Host: GitHub
- URL: https://github.com/happyfish100/libfastcommon
- Owner: happyfish100
- License: lgpl-3.0
- Created: 2014-05-28T10:21:06.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-09-29T15:31:26.000Z (about 1 month ago)
- Last Synced: 2024-10-02T05:01:59.819Z (about 1 month ago)
- Topics: avl-tree, c-library, connection-pool, fastdfs, id-generator, ini-parser, object-pool, process-control, skiplist, socket-io, system-info, task-scheduler
- Language: C
- Homepage: http://bbs.chinaunix.net/forum-240-1.html
- Size: 2.12 MB
- Stars: 895
- Watchers: 74
- Forks: 530
- Open Issues: 26
-
Metadata Files:
- Readme: README
- Changelog: HISTORY
- License: LICENSE
Awesome Lists containing this project
README
Copyright (C) 2010 Happy Fish / YuQing
libfastcommon may be copied only under the terms of the Less GNU General
Public License(LGPL).
Please visit the libfastcommon Home Page for more detail.
English language: https://github.com/happyfish100/libfastcommon
Chinese language: http://www.fastken.com/c common functions library extracted from my open source projects FastDFS and
FastDHT. this library is very simple and stable.some functions are wrappered into php extension, such as fastcommon_gethostaddrs,
fastcommon_id_generator_xxx, fastcommon_get_ifconfigs, fastcommon_get_sysinfo etc.C function including:
logger: [logger.h] asynchronously sync to disk for high performance, thread safe,
log rotate, auto delete old log files, compress log file etc.ini file reader: [ini_file_reader.h] support sections marked by [SectionName]
support a config item ocurs multiple times for multiple values, such as:
tracker_server = ip1
tracker_server = ip2
#include directive to include other ini file
#@function directive for annotation
#@set directive to set variables for condition of #@if directive
support control statements for special purpose as:
#@if, #@else, #@endif, #@for, #@endforid generator: [id_generator.h] generate unique 64 bits integer ID for multi processes
string operation: [shared_func.h] uppercase, lowercase, trim etc.
base64 encode / decode: [base64.h] for standard base64 or variable base64
url encode / decode: [shared_func.h]
md5 encode: [md5.h]
hash: [hash.h] hash table
chain: [chain.h] singly linked list
blocked queue: [fast_blocked_queue.h]
avl tree: [avl_tree.h] AVL tree
skiplist: [skiplist.h] [flat_skiplist.h] [multi_skiplist.h] flat skiplist and multi skiplist
socket: [sockopt.h] socket wrapper for connect, recv, send etc. support IPv6
ioevent: [ioevent.h] [ioevent_loop.h] like epoll (support Linux, FreeBSD and SunOS),
io buffer management: [fast_task_queue.h] for network io buffer
memory pool: [fast_mpool.h]
object based allocator: [fast_mblock.h]
connection pool: [connection_pool.h]
time wheel based timer: [fast_timer.h] for network timeout management, very high performance
local ip functions: [local_ip_func.h] get local ipv4 addresses
system info functions: [system_info.h] get cpu count, memory size, system load,
mounted filesystems and processes info etc.process control: [process_ctrl.h] for process start/stop/restart control
task schedule: [sched_thread.h] task shedule management/thead for repeat tasks
char convert: [char_converter.h] and [char_convert_loader.h] for fast char convert
detail info please see the c header files.