文件名称:fstrm:C中的帧流实现
文件大小:187KB
文件格式:ZIP
更新时间:2024-06-05 09:11:11
C
概述 这是fstrm ,是帧流数据传输协议的C实现。 帧流是一种轻量级的二进制干净协议,它允许以最小的成帧开销(每个数据帧仅四个字节)传输任意编码的数据有效载荷序列。 帧流未指定数据帧的编码格式,并且可以与产生字节序列的任何数据序列化格式一起使用,例如, , , , 等。帧流可以同时用作流传输通过可靠的字节流套接字(TCP套接字,TLS连接, AF_UNIX套接字等)传输运动中的数据以及静止数据的文件格式。 “内容类型”报头标识在单个帧流上承载的有效载荷的类型,并允许合作程序确定如何解释给定的数据有效载荷序列。 fstrm是帧流的一种优化的C实现,包括快速,无锁的循环队列实现,并公开了用于设置专用帧流I / O线程和异步提交数据帧以从工作线程进行传输的库接口。 最初编写该文件是为了帮助向使用日志格式的C语言编写的DNS服务器添加高速二进制日志记录。 建造 fstrm需要安装C99
【文件预览】:
fstrm-master
----autogen.sh(31B)
----.commit_docs.sh(2KB)
----fstrm()
--------rdwr.c(7KB)
--------tcp_writer.c(7KB)
--------libfstrm.pc.in(216B)
--------control.h(20KB)
--------reader.h(8KB)
--------file.c(4KB)
--------file.h(3KB)
--------fstrm-private.h(4KB)
--------control.c(12KB)
--------iothr.h(15KB)
--------writer.c(11KB)
--------unix_writer.h(3KB)
--------unix_writer.c(6KB)
--------tcp_writer.h(3KB)
--------rdwr.h(9KB)
--------fstrm.h(13KB)
--------iothr.c(16KB)
--------time.c(3KB)
--------libfstrm.sym(3KB)
--------reader.c(11KB)
--------writer.h(8KB)
----t()
--------test_control.c(17KB)
--------run_test_queue.sh(357B)
--------test_file_hello.c(6KB)
--------test_writer_hello.c(7KB)
--------run_test_fstrm_io_unix.sh(383B)
--------program_tests()
--------test_fstrm_io_file.c(9KB)
--------run_test_fstrm_io_tcp.sh(359B)
--------.gitignore(164B)
--------test_queue.c(8KB)
--------run_test_fstrm_io_file.sh(379B)
--------test_fstrm_io_sock.c(16KB)
----src()
--------fstrm_dump.c(6KB)
--------fstrm_capture.c(32KB)
--------.gitignore(38B)
--------fstrm_replay.c(8KB)
----Makefile.am(5KB)
----libmy()
--------argv_loc.h(8KB)
--------argv.h(15KB)
--------print_string.h(2KB)
--------argv.c(85KB)
--------my_memory_barrier.h(563B)
--------vector.h(5KB)
--------LICENSE(1KB)
--------COPYRIGHT(1KB)
--------read_bytes.h(500B)
--------my_time.h(1KB)
--------my_queue.h(3KB)
--------my_alloc.h(1KB)
--------ubuf.h(3KB)
--------m4()
--------my_queue_mutex.c(4KB)
--------.gitignore(39B)
--------my_queue_mb.c(4KB)
----.travis.yml(966B)
----LICENSE(1KB)
----DoxygenLayout.xml(6KB)
----COPYRIGHT(1KB)
----README.md(4KB)
----m4()
--------my_code_coverage.m4(31B)
--------my_pkg_config_files.m4(34B)
--------ax_pthread.m4(25B)
--------valgrind-tests.m4(1KB)
--------ld-version-script.m4(32B)
--------.gitignore(63B)
--------pkg.m4(18B)
----configure.ac(2KB)
----man()
--------fstrm_capture.1(4KB)
--------fstrm_replay.1(2KB)
--------fstrm_dump.1(1KB)
----.gitignore(230B)
----Doxyfile.in(98KB)
----ChangeLog(3KB)