-
Notifications
You must be signed in to change notification settings - Fork 174
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Initial implementation of file-backed durable cuckoo storage engine #217
Conversation
d6a8925
to
0e0a046
Compare
This is the easy part of pmem enabling ;) I made some simple tests and ran a quick benchmark, and things look OK. Next, I'll create a PR with the micro benchmark for storage engines, and then move on to slab/hashtable/item modifications. |
8fa2010
to
bf3d449
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
||
#define DATAPOOL_SIGNATURE ("PELIKAN") /* 8 bytes */ | ||
#define DATAPOOL_SIGNATURE_LEN (sizeof(DATAPOOL_SIGNATURE)) | ||
#define DATAPOOL_HEADER_LEN 4096 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is the header designed to be precisely 1 page? if so, what if the platform has different sized pages? would appreciate if this was documented as well as the reason behind that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you expect to run Pelikan on architectures that do not support 4k pages? :)
But no, there no correctness (or otherwise) reasons for this number. It's just big enough for any future expansion.
Also, msync() doesn't have to internally align the size if we pass it a round number.
Added a comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
got it. we don't plan to use such architectures afaik (though we have evaluated the effect of hugepage before), but this is an open source project so ideally we would like to support a multitude of use cases if we can. 4 KB seems quite large to me but considering the amount of memory we are dealing with using pmem, this seems fine to me.
struct datapool *pool = cc_alloc(sizeof(*pool)); | ||
if (pool == NULL) { | ||
log_error("unable to create allocate memory for pmem mapping"); | ||
goto err_alloc; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wonder if using goto
really makes sense here; each goto
label only has one goto
sending it there
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a common error handling idiom when cleanup is needed before exiting the function. There should be only one goto
per label because this allows for stacking the cleanup functions. You could say that this is poor's man RAII.
I'm fine with changing this if this isn't inline with your coding style.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cool, i'm fine with leaving this as is. it isn't explicitly out of line with our style guide, and i don't think it really has a negative impact on readability; i just haven't seen this idiom before.
src/datapool/datapool_pmem.c
Outdated
datapool_flag_clear(pool, DATAPOOL_FLAG_DIRTY); | ||
|
||
if (pool->file_backed) | ||
pmem_unmap(pool->addr, pool->mapped_len); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
interesting that there are no failure scenarios for these pmem lib functions. will have to read more about how they work :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
msync
and munmap
can only realistically fail on invalid arguments (misaligned address being the most common problem). The pmem_map_file
error path is covered and the error is propagated up.
I've added ASSERTs.
@@ -7,5 +7,8 @@ add_subdirectory(protocol) | |||
add_subdirectory(hotkey) | |||
add_subdirectory(storage) | |||
add_subdirectory(time) | |||
if(USE_PMEM) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
kind of confused as to what happens when we run cmake without USE_PMEM. would have thought this wouldn't work due to cuckoo needing datapool stuff but maybe i am misunderstanding.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By default the pmem implementation of the data pool is not compiled, and instead the shm (malloc
/free
) implementation is used as a fallback. What this means is that there's no change whatsoever to the way Pelikan functions, everything will work just the way it used to. Only if it's built with PMEM support explicitly enabled and libpmem installed, the pmem implementation of the datapool abstraction is going to be compiled in, and the cuckoo_datapool
will be taken into account when starting the cache.
This is implemented in src/datapool/CMakeLists.txt
.
This patch creates a datapool abstraction for managing large amounts of contiguous memory, and adds two implementations: - shm, backed by shared memory allocated through cc_alloc - pmem, backed by memory-mapped file managed through libpmem The default implementation, datapool_shm, currently does not differ from simply managing memory through cc_alloc/cc_free. The datapool_pmem implementation, which can be enabled through -DUSE_PMEM=ON, allows for durable (persistent) implementations of the storage layer as it attempts to recover the previous content of the managed memory.
This patch uses the datapool interface to allow for durable operations of the cuckoo storage engine. To enable durable storage, provide a path to a file in "cuckoo_datapool" config option. If no file is provided, the datapool falls back to shared memory.
bf3d449
to
2a2d3c6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, thanks doing this!
|
||
#define DATAPOOL_SIGNATURE ("PELIKAN") /* 8 bytes */ | ||
#define DATAPOOL_SIGNATURE_LEN (sizeof(DATAPOOL_SIGNATURE)) | ||
#define DATAPOOL_HEADER_LEN 4096 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
got it. we don't plan to use such architectures afaik (though we have evaluated the effect of hugepage before), but this is an open source project so ideally we would like to support a multitude of use cases if we can. 4 KB seems quite large to me but considering the amount of memory we are dealing with using pmem, this seems fine to me.
struct datapool *pool = cc_alloc(sizeof(*pool)); | ||
if (pool == NULL) { | ||
log_error("unable to create allocate memory for pmem mapping"); | ||
goto err_alloc; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cool, i'm fine with leaving this as is. it isn't explicitly out of line with our style guide, and i don't think it really has a negative impact on readability; i just haven't seen this idiom before.
6b1d8d5 Improve the Rust build story (twitter#240) 5955d6b move nodelay setting to the server socket, and accepted connections will inherit that (twitter#238) aafd20f formatting (twitter#237) 3b5c069 Update ccommon_rs to use bytes v5.0 (twitter#235) df74087 Address clippy lints in rust code (twitter#234) 7c5bbd1 Make metrics and options Send + Sync (twitter#233) c2e617e Ensure that manually implemented C options use the correct name (twitter#232) 6e76741 Add some docs b5b4c5a Change check_pipe to use nanosleep instead of usleep (twitter#231) eb0a389 Use name of field instead of description for C metrics (twitter#230) 16ddc76 Fix broken buf impls (twitter#229) eefcdcb Avoid redundant rebuilds of rust packages in CI (twitter#228) 33f62a8 Update bindgen to also generate bindings recursively (twitter#227) 27ffc7c Implement bytes::Buf and Bytes::ButMut on Buf and OwnedBuf (twitter#226) f873930 Various small bugfixes and usability improvements for rust code (twitter#225) 37a1ecd Port option parsing module to Rust (twitter#224) 38f7556 Fix failed test detection (twitter#215) 0ab1604 Conditionally use std::any::type_name if it's supported (twitter#223) 98176d3 Backport changes from twitter#265 (twitter#222) ba54096 Remove test for removed rust logging functionality (twitter#221) 519118d Rewrite cmake cargo build wrapper (twitter#220) 5d23b3a Fix some small typos found in twitter#263 (twitter#219) 475dda7 Clean up logging shim (twitter#218) 1d28dd2 Expand rust bindings to add options, metrics, and ccbox (twitter#217) 88b5400 Upstream changes from twitter#261 (twitter#216) 4e99e63 fix a bug and change how check is found (twitter#214) 54067ef slightly simplify accept error-handling logic (twitter#210) e9fe980 Fix synchronize ccommon with pelikan deps/ccommon (twitter#212) 7eb6424 Cleanup libcheck related code (twitter#211) 683bc1a cc_bstring simplify and fix (twitter#207) 8737d99 continue on server socket on non-blocking errors (twitter#209) 2a62281 add atoi64 to bstring (twitter#206) f71c657 cc_option simplify _allowed_in_name (twitter#205) 24e3131 Add ITT instrumentation option (twitter#204) 236c98d Fix docs (twitter#200) e58f6a8 cc_array and cc_ring_array NULL fixes (twitter#201) 1c8df42 Add basic support of build type (twitter#199) 7107988 Fix now_ns() (twitter#198) da240e5 cc: extend cc_util module (twitter#196) 4846b15 Fix TAILQ_REINIT (twitter#195) 4f5dbb0 Update Cmake version to 2.8 (twitter#197) 2e6f78a cc_mm use OS_DARWIN macro to detect OS (twitter#194) 57acaf6 cc: extend queue module (twitter#193) a64ada2 cc: extend duration module (twitter#192) b117632 reverting CMake file changes (twitter#191) dea5bee backport changes made to ccommon in pelikan (twitter#190) a4c0334 add linebreak to stats_log() (twitter#188) 05eb03e fix inconsistent naming and bump version (twitter#187) 4acc53a Stats to file (twitter#186) 2168fec minimize osx build config (twitter#185) 42b24de Simplify rust options, specify fewer output targets (twitter#183) c9fa905 update CMakeRust used to latest version, tweaks to make build work (twitter#184) 2ef0163 Reorder dependency includes in cmake, don't parallel build (twitter#182) a6a54d9 remove endian-specific logic from str*cmp (twitter#177) 4c0668b epoll_create* ignores size hint in newer kernels, switch to new API (twitter#179) c9c5ee5 improve cc_bstring string literal and cstring names (twitter#176) 0184d73 Add unit tests for buffer, fix buf/dbuf bugs and refactor (twitter#174) d7dab43 create a .cargo/config so intellij uses the same target dir as cmake (twitter#173) e710712 use accept4 for tcp_accept when available (twitter#171) 21ba10e Remove cargo lock for shared lib, closes twitter#169 (twitter#172) 24660f1 update style guide (twitter#170) 17baf1e Per thread logging (twitter#168) git-subtree-dir: deps/ccommon git-subtree-split: 6b1d8d56b214e2a9d448625fe53303d57b4ac6d1
55769cc restore cmake for rust libraries (twitter#241) 6b1d8d5 Improve the Rust build story (twitter#240) 5955d6b move nodelay setting to the server socket, and accepted connections will inherit that (twitter#238) aafd20f formatting (twitter#237) 3b5c069 Update ccommon_rs to use bytes v5.0 (twitter#235) df74087 Address clippy lints in rust code (twitter#234) 7c5bbd1 Make metrics and options Send + Sync (twitter#233) c2e617e Ensure that manually implemented C options use the correct name (twitter#232) 6e76741 Add some docs b5b4c5a Change check_pipe to use nanosleep instead of usleep (twitter#231) eb0a389 Use name of field instead of description for C metrics (twitter#230) 16ddc76 Fix broken buf impls (twitter#229) eefcdcb Avoid redundant rebuilds of rust packages in CI (twitter#228) 33f62a8 Update bindgen to also generate bindings recursively (twitter#227) 27ffc7c Implement bytes::Buf and Bytes::ButMut on Buf and OwnedBuf (twitter#226) f873930 Various small bugfixes and usability improvements for rust code (twitter#225) 37a1ecd Port option parsing module to Rust (twitter#224) 38f7556 Fix failed test detection (twitter#215) 0ab1604 Conditionally use std::any::type_name if it's supported (twitter#223) 98176d3 Backport changes from twitter#265 (twitter#222) ba54096 Remove test for removed rust logging functionality (twitter#221) 519118d Rewrite cmake cargo build wrapper (twitter#220) 5d23b3a Fix some small typos found in twitter#263 (twitter#219) 475dda7 Clean up logging shim (twitter#218) 1d28dd2 Expand rust bindings to add options, metrics, and ccbox (twitter#217) 88b5400 Upstream changes from twitter#261 (twitter#216) 4e99e63 fix a bug and change how check is found (twitter#214) 54067ef slightly simplify accept error-handling logic (twitter#210) e9fe980 Fix synchronize ccommon with pelikan deps/ccommon (twitter#212) 7eb6424 Cleanup libcheck related code (twitter#211) 683bc1a cc_bstring simplify and fix (twitter#207) 8737d99 continue on server socket on non-blocking errors (twitter#209) 2a62281 add atoi64 to bstring (twitter#206) f71c657 cc_option simplify _allowed_in_name (twitter#205) 24e3131 Add ITT instrumentation option (twitter#204) 236c98d Fix docs (twitter#200) e58f6a8 cc_array and cc_ring_array NULL fixes (twitter#201) 1c8df42 Add basic support of build type (twitter#199) 7107988 Fix now_ns() (twitter#198) da240e5 cc: extend cc_util module (twitter#196) 4846b15 Fix TAILQ_REINIT (twitter#195) 4f5dbb0 Update Cmake version to 2.8 (twitter#197) 2e6f78a cc_mm use OS_DARWIN macro to detect OS (twitter#194) 57acaf6 cc: extend queue module (twitter#193) a64ada2 cc: extend duration module (twitter#192) b117632 reverting CMake file changes (twitter#191) dea5bee backport changes made to ccommon in pelikan (twitter#190) a4c0334 add linebreak to stats_log() (twitter#188) 05eb03e fix inconsistent naming and bump version (twitter#187) 4acc53a Stats to file (twitter#186) 2168fec minimize osx build config (twitter#185) 42b24de Simplify rust options, specify fewer output targets (twitter#183) c9fa905 update CMakeRust used to latest version, tweaks to make build work (twitter#184) 2ef0163 Reorder dependency includes in cmake, don't parallel build (twitter#182) a6a54d9 remove endian-specific logic from str*cmp (twitter#177) 4c0668b epoll_create* ignores size hint in newer kernels, switch to new API (twitter#179) c9c5ee5 improve cc_bstring string literal and cstring names (twitter#176) 0184d73 Add unit tests for buffer, fix buf/dbuf bugs and refactor (twitter#174) d7dab43 create a .cargo/config so intellij uses the same target dir as cmake (twitter#173) e710712 use accept4 for tcp_accept when available (twitter#171) 21ba10e Remove cargo lock for shared lib, closes twitter#169 (twitter#172) 24660f1 update style guide (twitter#170) 17baf1e Per thread logging (twitter#168) git-subtree-dir: deps/ccommon git-subtree-split: 55769cc8ae9e7d5c9ceda0472498276aec1d1ed5
* Squashed 'deps/ccommon/' changes from f5efe29..55769cc 55769cc restore cmake for rust libraries (#241) 6b1d8d5 Improve the Rust build story (#240) 5955d6b move nodelay setting to the server socket, and accepted connections will inherit that (#238) aafd20f formatting (#237) 3b5c069 Update ccommon_rs to use bytes v5.0 (#235) df74087 Address clippy lints in rust code (#234) 7c5bbd1 Make metrics and options Send + Sync (#233) c2e617e Ensure that manually implemented C options use the correct name (#232) 6e76741 Add some docs b5b4c5a Change check_pipe to use nanosleep instead of usleep (#231) eb0a389 Use name of field instead of description for C metrics (#230) 16ddc76 Fix broken buf impls (#229) eefcdcb Avoid redundant rebuilds of rust packages in CI (#228) 33f62a8 Update bindgen to also generate bindings recursively (#227) 27ffc7c Implement bytes::Buf and Bytes::ButMut on Buf and OwnedBuf (#226) f873930 Various small bugfixes and usability improvements for rust code (#225) 37a1ecd Port option parsing module to Rust (#224) 38f7556 Fix failed test detection (#215) 0ab1604 Conditionally use std::any::type_name if it's supported (#223) 98176d3 Backport changes from #265 (#222) ba54096 Remove test for removed rust logging functionality (#221) 519118d Rewrite cmake cargo build wrapper (#220) 5d23b3a Fix some small typos found in #263 (#219) 475dda7 Clean up logging shim (#218) 1d28dd2 Expand rust bindings to add options, metrics, and ccbox (#217) 88b5400 Upstream changes from #261 (#216) 4e99e63 fix a bug and change how check is found (#214) 54067ef slightly simplify accept error-handling logic (#210) e9fe980 Fix synchronize ccommon with pelikan deps/ccommon (#212) 7eb6424 Cleanup libcheck related code (#211) 683bc1a cc_bstring simplify and fix (#207) 8737d99 continue on server socket on non-blocking errors (#209) 2a62281 add atoi64 to bstring (#206) f71c657 cc_option simplify _allowed_in_name (#205) 24e3131 Add ITT instrumentation option (#204) 236c98d Fix docs (#200) e58f6a8 cc_array and cc_ring_array NULL fixes (#201) 1c8df42 Add basic support of build type (#199) 7107988 Fix now_ns() (#198) da240e5 cc: extend cc_util module (#196) 4846b15 Fix TAILQ_REINIT (#195) 4f5dbb0 Update Cmake version to 2.8 (#197) 2e6f78a cc_mm use OS_DARWIN macro to detect OS (#194) 57acaf6 cc: extend queue module (#193) a64ada2 cc: extend duration module (#192) b117632 reverting CMake file changes (#191) dea5bee backport changes made to ccommon in pelikan (#190) a4c0334 add linebreak to stats_log() (#188) 05eb03e fix inconsistent naming and bump version (#187) 4acc53a Stats to file (#186) 2168fec minimize osx build config (#185) 42b24de Simplify rust options, specify fewer output targets (#183) c9fa905 update CMakeRust used to latest version, tweaks to make build work (#184) 2ef0163 Reorder dependency includes in cmake, don't parallel build (#182) a6a54d9 remove endian-specific logic from str*cmp (#177) 4c0668b epoll_create* ignores size hint in newer kernels, switch to new API (#179) c9c5ee5 improve cc_bstring string literal and cstring names (#176) 0184d73 Add unit tests for buffer, fix buf/dbuf bugs and refactor (#174) d7dab43 create a .cargo/config so intellij uses the same target dir as cmake (#173) e710712 use accept4 for tcp_accept when available (#171) 21ba10e Remove cargo lock for shared lib, closes #169 (#172) 24660f1 update style guide (#170) 17baf1e Per thread logging (#168) git-subtree-dir: deps/ccommon git-subtree-split: 55769cc8ae9e7d5c9ceda0472498276aec1d1ed5 * Fixes to work with newer ccommon and cargo for rust builds Fixes various places where ccommon rust libraries were renamed or have interface changes. Changes the rust builds to use cargo instead of cmake. This made it easier to integrate the changes and makes building the rust portion more intuitive for rust developers. * add cargo build on osx to ci * fix copy paste error in travis config * fix the cmake rust build * cleanup * remove scripts folder
5e64de2 WIP: add fluxcapacitor support for linux build (twitter#242) 55769cc restore cmake for rust libraries (twitter#241) 6b1d8d5 Improve the Rust build story (twitter#240) 5955d6b move nodelay setting to the server socket, and accepted connections will inherit that (twitter#238) aafd20f formatting (twitter#237) 3b5c069 Update ccommon_rs to use bytes v5.0 (twitter#235) df74087 Address clippy lints in rust code (twitter#234) 7c5bbd1 Make metrics and options Send + Sync (twitter#233) c2e617e Ensure that manually implemented C options use the correct name (twitter#232) 6e76741 Add some docs b5b4c5a Change check_pipe to use nanosleep instead of usleep (twitter#231) eb0a389 Use name of field instead of description for C metrics (twitter#230) 16ddc76 Fix broken buf impls (twitter#229) eefcdcb Avoid redundant rebuilds of rust packages in CI (twitter#228) 33f62a8 Update bindgen to also generate bindings recursively (twitter#227) 27ffc7c Implement bytes::Buf and Bytes::ButMut on Buf and OwnedBuf (twitter#226) f873930 Various small bugfixes and usability improvements for rust code (twitter#225) 37a1ecd Port option parsing module to Rust (twitter#224) 38f7556 Fix failed test detection (twitter#215) 0ab1604 Conditionally use std::any::type_name if it's supported (twitter#223) 98176d3 Backport changes from twitter#265 (twitter#222) ba54096 Remove test for removed rust logging functionality (twitter#221) 519118d Rewrite cmake cargo build wrapper (twitter#220) 5d23b3a Fix some small typos found in twitter#263 (twitter#219) 475dda7 Clean up logging shim (twitter#218) 1d28dd2 Expand rust bindings to add options, metrics, and ccbox (twitter#217) 88b5400 Upstream changes from twitter#261 (twitter#216) 4e99e63 fix a bug and change how check is found (twitter#214) 54067ef slightly simplify accept error-handling logic (twitter#210) e9fe980 Fix synchronize ccommon with pelikan deps/ccommon (twitter#212) 7eb6424 Cleanup libcheck related code (twitter#211) 683bc1a cc_bstring simplify and fix (twitter#207) 8737d99 continue on server socket on non-blocking errors (twitter#209) 2a62281 add atoi64 to bstring (twitter#206) f71c657 cc_option simplify _allowed_in_name (twitter#205) 24e3131 Add ITT instrumentation option (twitter#204) 236c98d Fix docs (twitter#200) e58f6a8 cc_array and cc_ring_array NULL fixes (twitter#201) 1c8df42 Add basic support of build type (twitter#199) 7107988 Fix now_ns() (twitter#198) da240e5 cc: extend cc_util module (twitter#196) 4846b15 Fix TAILQ_REINIT (twitter#195) 4f5dbb0 Update Cmake version to 2.8 (twitter#197) 2e6f78a cc_mm use OS_DARWIN macro to detect OS (twitter#194) 57acaf6 cc: extend queue module (twitter#193) a64ada2 cc: extend duration module (twitter#192) b117632 reverting CMake file changes (twitter#191) dea5bee backport changes made to ccommon in pelikan (twitter#190) a4c0334 add linebreak to stats_log() (twitter#188) 05eb03e fix inconsistent naming and bump version (twitter#187) 4acc53a Stats to file (twitter#186) 2168fec minimize osx build config (twitter#185) 42b24de Simplify rust options, specify fewer output targets (twitter#183) c9fa905 update CMakeRust used to latest version, tweaks to make build work (twitter#184) 2ef0163 Reorder dependency includes in cmake, don't parallel build (twitter#182) a6a54d9 remove endian-specific logic from str*cmp (twitter#177) 4c0668b epoll_create* ignores size hint in newer kernels, switch to new API (twitter#179) c9c5ee5 improve cc_bstring string literal and cstring names (twitter#176) 0184d73 Add unit tests for buffer, fix buf/dbuf bugs and refactor (twitter#174) d7dab43 create a .cargo/config so intellij uses the same target dir as cmake (twitter#173) e710712 use accept4 for tcp_accept when available (twitter#171) 21ba10e Remove cargo lock for shared lib, closes twitter#169 (twitter#172) 24660f1 update style guide (twitter#170) 17baf1e Per thread logging (twitter#168) git-subtree-dir: deps/ccommon git-subtree-split: 5e64de297dbf1d49b59746431448f5f4dfb5d640
… metrics (#289) * adding metrics to the hash module * Squashed 'deps/ccommon/' changes from f5efe29..5e64de2 5e64de2 WIP: add fluxcapacitor support for linux build (#242) 55769cc restore cmake for rust libraries (#241) 6b1d8d5 Improve the Rust build story (#240) 5955d6b move nodelay setting to the server socket, and accepted connections will inherit that (#238) aafd20f formatting (#237) 3b5c069 Update ccommon_rs to use bytes v5.0 (#235) df74087 Address clippy lints in rust code (#234) 7c5bbd1 Make metrics and options Send + Sync (#233) c2e617e Ensure that manually implemented C options use the correct name (#232) 6e76741 Add some docs b5b4c5a Change check_pipe to use nanosleep instead of usleep (#231) eb0a389 Use name of field instead of description for C metrics (#230) 16ddc76 Fix broken buf impls (#229) eefcdcb Avoid redundant rebuilds of rust packages in CI (#228) 33f62a8 Update bindgen to also generate bindings recursively (#227) 27ffc7c Implement bytes::Buf and Bytes::ButMut on Buf and OwnedBuf (#226) f873930 Various small bugfixes and usability improvements for rust code (#225) 37a1ecd Port option parsing module to Rust (#224) 38f7556 Fix failed test detection (#215) 0ab1604 Conditionally use std::any::type_name if it's supported (#223) 98176d3 Backport changes from #265 (#222) ba54096 Remove test for removed rust logging functionality (#221) 519118d Rewrite cmake cargo build wrapper (#220) 5d23b3a Fix some small typos found in #263 (#219) 475dda7 Clean up logging shim (#218) 1d28dd2 Expand rust bindings to add options, metrics, and ccbox (#217) 88b5400 Upstream changes from #261 (#216) 4e99e63 fix a bug and change how check is found (#214) 54067ef slightly simplify accept error-handling logic (#210) e9fe980 Fix synchronize ccommon with pelikan deps/ccommon (#212) 7eb6424 Cleanup libcheck related code (#211) 683bc1a cc_bstring simplify and fix (#207) 8737d99 continue on server socket on non-blocking errors (#209) 2a62281 add atoi64 to bstring (#206) f71c657 cc_option simplify _allowed_in_name (#205) 24e3131 Add ITT instrumentation option (#204) 236c98d Fix docs (#200) e58f6a8 cc_array and cc_ring_array NULL fixes (#201) 1c8df42 Add basic support of build type (#199) 7107988 Fix now_ns() (#198) da240e5 cc: extend cc_util module (#196) 4846b15 Fix TAILQ_REINIT (#195) 4f5dbb0 Update Cmake version to 2.8 (#197) 2e6f78a cc_mm use OS_DARWIN macro to detect OS (#194) 57acaf6 cc: extend queue module (#193) a64ada2 cc: extend duration module (#192) b117632 reverting CMake file changes (#191) dea5bee backport changes made to ccommon in pelikan (#190) a4c0334 add linebreak to stats_log() (#188) 05eb03e fix inconsistent naming and bump version (#187) 4acc53a Stats to file (#186) 2168fec minimize osx build config (#185) 42b24de Simplify rust options, specify fewer output targets (#183) c9fa905 update CMakeRust used to latest version, tweaks to make build work (#184) 2ef0163 Reorder dependency includes in cmake, don't parallel build (#182) a6a54d9 remove endian-specific logic from str*cmp (#177) 4c0668b epoll_create* ignores size hint in newer kernels, switch to new API (#179) c9c5ee5 improve cc_bstring string literal and cstring names (#176) 0184d73 Add unit tests for buffer, fix buf/dbuf bugs and refactor (#174) d7dab43 create a .cargo/config so intellij uses the same target dir as cmake (#173) e710712 use accept4 for tcp_accept when available (#171) 21ba10e Remove cargo lock for shared lib, closes #169 (#172) 24660f1 update style guide (#170) 17baf1e Per thread logging (#168) git-subtree-dir: deps/ccommon git-subtree-split: 5e64de297dbf1d49b59746431448f5f4dfb5d640 * clean up cmake file * rename findcheck cmake module * adding new metrics to rust wrapper * add ci/cargo.sh to pelikan for consistent invocation * Squashed 'deps/ccommon/' changes from 5e64de2..0db032a 0db032a tuning cmake / ci further (#243) 49dcaff improve cargo build script (#244) git-subtree-dir: deps/ccommon git-subtree-split: 0db032afcac0a75887281c3876ed9f7bb10391ce * update ci based on changes first tested in ccommon
45b7bac add new libraries to contain config structs (twitter#245) 0db032a tuning cmake / ci further (twitter#243) 49dcaff improve cargo build script (twitter#244) 5e64de2 WIP: add fluxcapacitor support for linux build (twitter#242) 55769cc restore cmake for rust libraries (twitter#241) 6b1d8d5 Improve the Rust build story (twitter#240) 5955d6b move nodelay setting to the server socket, and accepted connections will inherit that (twitter#238) aafd20f formatting (twitter#237) 3b5c069 Update ccommon_rs to use bytes v5.0 (twitter#235) df74087 Address clippy lints in rust code (twitter#234) 7c5bbd1 Make metrics and options Send + Sync (twitter#233) c2e617e Ensure that manually implemented C options use the correct name (twitter#232) 6e76741 Add some docs b5b4c5a Change check_pipe to use nanosleep instead of usleep (twitter#231) eb0a389 Use name of field instead of description for C metrics (twitter#230) 16ddc76 Fix broken buf impls (twitter#229) eefcdcb Avoid redundant rebuilds of rust packages in CI (twitter#228) 33f62a8 Update bindgen to also generate bindings recursively (twitter#227) 27ffc7c Implement bytes::Buf and Bytes::ButMut on Buf and OwnedBuf (twitter#226) f873930 Various small bugfixes and usability improvements for rust code (twitter#225) 37a1ecd Port option parsing module to Rust (twitter#224) 38f7556 Fix failed test detection (twitter#215) 0ab1604 Conditionally use std::any::type_name if it's supported (twitter#223) 98176d3 Backport changes from twitter#265 (twitter#222) ba54096 Remove test for removed rust logging functionality (twitter#221) 519118d Rewrite cmake cargo build wrapper (twitter#220) 5d23b3a Fix some small typos found in twitter#263 (twitter#219) 475dda7 Clean up logging shim (twitter#218) 1d28dd2 Expand rust bindings to add options, metrics, and ccbox (twitter#217) 88b5400 Upstream changes from twitter#261 (twitter#216) 4e99e63 fix a bug and change how check is found (twitter#214) 54067ef slightly simplify accept error-handling logic (twitter#210) e9fe980 Fix synchronize ccommon with pelikan deps/ccommon (twitter#212) 7eb6424 Cleanup libcheck related code (twitter#211) 683bc1a cc_bstring simplify and fix (twitter#207) 8737d99 continue on server socket on non-blocking errors (twitter#209) 2a62281 add atoi64 to bstring (twitter#206) f71c657 cc_option simplify _allowed_in_name (twitter#205) 24e3131 Add ITT instrumentation option (twitter#204) 236c98d Fix docs (twitter#200) e58f6a8 cc_array and cc_ring_array NULL fixes (twitter#201) 1c8df42 Add basic support of build type (twitter#199) 7107988 Fix now_ns() (twitter#198) da240e5 cc: extend cc_util module (twitter#196) 4846b15 Fix TAILQ_REINIT (twitter#195) 4f5dbb0 Update Cmake version to 2.8 (twitter#197) 2e6f78a cc_mm use OS_DARWIN macro to detect OS (twitter#194) 57acaf6 cc: extend queue module (twitter#193) a64ada2 cc: extend duration module (twitter#192) b117632 reverting CMake file changes (twitter#191) dea5bee backport changes made to ccommon in pelikan (twitter#190) a4c0334 add linebreak to stats_log() (twitter#188) 05eb03e fix inconsistent naming and bump version (twitter#187) 4acc53a Stats to file (twitter#186) 2168fec minimize osx build config (twitter#185) 42b24de Simplify rust options, specify fewer output targets (twitter#183) c9fa905 update CMakeRust used to latest version, tweaks to make build work (twitter#184) 2ef0163 Reorder dependency includes in cmake, don't parallel build (twitter#182) a6a54d9 remove endian-specific logic from str*cmp (twitter#177) 4c0668b epoll_create* ignores size hint in newer kernels, switch to new API (twitter#179) c9c5ee5 improve cc_bstring string literal and cstring names (twitter#176) 0184d73 Add unit tests for buffer, fix buf/dbuf bugs and refactor (twitter#174) d7dab43 create a .cargo/config so intellij uses the same target dir as cmake (twitter#173) e710712 use accept4 for tcp_accept when available (twitter#171) 21ba10e Remove cargo lock for shared lib, closes twitter#169 (twitter#172) 24660f1 update style guide (twitter#170) 17baf1e Per thread logging (twitter#168) git-subtree-dir: deps/ccommon git-subtree-split: 45b7bac29f7bddfbb7441d93f11f1d81c0dcb4e8
* Squashed 'deps/ccommon/' changes from f5efe29..45b7bac 45b7bac add new libraries to contain config structs (#245) 0db032a tuning cmake / ci further (#243) 49dcaff improve cargo build script (#244) 5e64de2 WIP: add fluxcapacitor support for linux build (#242) 55769cc restore cmake for rust libraries (#241) 6b1d8d5 Improve the Rust build story (#240) 5955d6b move nodelay setting to the server socket, and accepted connections will inherit that (#238) aafd20f formatting (#237) 3b5c069 Update ccommon_rs to use bytes v5.0 (#235) df74087 Address clippy lints in rust code (#234) 7c5bbd1 Make metrics and options Send + Sync (#233) c2e617e Ensure that manually implemented C options use the correct name (#232) 6e76741 Add some docs b5b4c5a Change check_pipe to use nanosleep instead of usleep (#231) eb0a389 Use name of field instead of description for C metrics (#230) 16ddc76 Fix broken buf impls (#229) eefcdcb Avoid redundant rebuilds of rust packages in CI (#228) 33f62a8 Update bindgen to also generate bindings recursively (#227) 27ffc7c Implement bytes::Buf and Bytes::ButMut on Buf and OwnedBuf (#226) f873930 Various small bugfixes and usability improvements for rust code (#225) 37a1ecd Port option parsing module to Rust (#224) 38f7556 Fix failed test detection (#215) 0ab1604 Conditionally use std::any::type_name if it's supported (#223) 98176d3 Backport changes from #265 (#222) ba54096 Remove test for removed rust logging functionality (#221) 519118d Rewrite cmake cargo build wrapper (#220) 5d23b3a Fix some small typos found in #263 (#219) 475dda7 Clean up logging shim (#218) 1d28dd2 Expand rust bindings to add options, metrics, and ccbox (#217) 88b5400 Upstream changes from #261 (#216) 4e99e63 fix a bug and change how check is found (#214) 54067ef slightly simplify accept error-handling logic (#210) e9fe980 Fix synchronize ccommon with pelikan deps/ccommon (#212) 7eb6424 Cleanup libcheck related code (#211) 683bc1a cc_bstring simplify and fix (#207) 8737d99 continue on server socket on non-blocking errors (#209) 2a62281 add atoi64 to bstring (#206) f71c657 cc_option simplify _allowed_in_name (#205) 24e3131 Add ITT instrumentation option (#204) 236c98d Fix docs (#200) e58f6a8 cc_array and cc_ring_array NULL fixes (#201) 1c8df42 Add basic support of build type (#199) 7107988 Fix now_ns() (#198) da240e5 cc: extend cc_util module (#196) 4846b15 Fix TAILQ_REINIT (#195) 4f5dbb0 Update Cmake version to 2.8 (#197) 2e6f78a cc_mm use OS_DARWIN macro to detect OS (#194) 57acaf6 cc: extend queue module (#193) a64ada2 cc: extend duration module (#192) b117632 reverting CMake file changes (#191) dea5bee backport changes made to ccommon in pelikan (#190) a4c0334 add linebreak to stats_log() (#188) 05eb03e fix inconsistent naming and bump version (#187) 4acc53a Stats to file (#186) 2168fec minimize osx build config (#185) 42b24de Simplify rust options, specify fewer output targets (#183) c9fa905 update CMakeRust used to latest version, tweaks to make build work (#184) 2ef0163 Reorder dependency includes in cmake, don't parallel build (#182) a6a54d9 remove endian-specific logic from str*cmp (#177) 4c0668b epoll_create* ignores size hint in newer kernels, switch to new API (#179) c9c5ee5 improve cc_bstring string literal and cstring names (#176) 0184d73 Add unit tests for buffer, fix buf/dbuf bugs and refactor (#174) d7dab43 create a .cargo/config so intellij uses the same target dir as cmake (#173) e710712 use accept4 for tcp_accept when available (#171) 21ba10e Remove cargo lock for shared lib, closes #169 (#172) 24660f1 update style guide (#170) 17baf1e Per thread logging (#168) git-subtree-dir: deps/ccommon git-subtree-split: 45b7bac29f7bddfbb7441d93f11f1d81c0dcb4e8 * update manifest to include new ccommon crates * Squashed 'deps/ccommon/' changes from 45b7bac..0094e2a 0094e2a add convenience array api (#239) 6024ef7 add pipe config to rust ccommon-channel (#247) eaf7f07 remove ccommon-time (#248) git-subtree-dir: deps/ccommon git-subtree-split: 0094e2a99e4d535f8dec590e8474e6e4686bda07 * remove dep ccommon-time Co-authored-by: Brian Martin <bmartin@twitter.com>
6af1821 Pthread name (twitter#251) e77471e cmake: gen config.h into include to support make install (twitter#249) 0094e2a add convenience array api (twitter#239) 6024ef7 add pipe config to rust ccommon-channel (twitter#247) eaf7f07 remove ccommon-time (twitter#248) 45b7bac add new libraries to contain config structs (twitter#245) 0db032a tuning cmake / ci further (twitter#243) 49dcaff improve cargo build script (twitter#244) 5e64de2 WIP: add fluxcapacitor support for linux build (twitter#242) 55769cc restore cmake for rust libraries (twitter#241) 6b1d8d5 Improve the Rust build story (twitter#240) 5955d6b move nodelay setting to the server socket, and accepted connections will inherit that (twitter#238) aafd20f formatting (twitter#237) 3b5c069 Update ccommon_rs to use bytes v5.0 (twitter#235) df74087 Address clippy lints in rust code (twitter#234) 7c5bbd1 Make metrics and options Send + Sync (twitter#233) c2e617e Ensure that manually implemented C options use the correct name (twitter#232) 6e76741 Add some docs b5b4c5a Change check_pipe to use nanosleep instead of usleep (twitter#231) eb0a389 Use name of field instead of description for C metrics (twitter#230) 16ddc76 Fix broken buf impls (twitter#229) eefcdcb Avoid redundant rebuilds of rust packages in CI (twitter#228) 33f62a8 Update bindgen to also generate bindings recursively (twitter#227) 27ffc7c Implement bytes::Buf and Bytes::ButMut on Buf and OwnedBuf (twitter#226) f873930 Various small bugfixes and usability improvements for rust code (twitter#225) 37a1ecd Port option parsing module to Rust (twitter#224) 38f7556 Fix failed test detection (twitter#215) 0ab1604 Conditionally use std::any::type_name if it's supported (twitter#223) 98176d3 Backport changes from twitter#265 (twitter#222) ba54096 Remove test for removed rust logging functionality (twitter#221) 519118d Rewrite cmake cargo build wrapper (twitter#220) 5d23b3a Fix some small typos found in twitter#263 (twitter#219) 475dda7 Clean up logging shim (twitter#218) 1d28dd2 Expand rust bindings to add options, metrics, and ccbox (twitter#217) 88b5400 Upstream changes from twitter#261 (twitter#216) 4e99e63 fix a bug and change how check is found (twitter#214) 54067ef slightly simplify accept error-handling logic (twitter#210) e9fe980 Fix synchronize ccommon with pelikan deps/ccommon (twitter#212) 7eb6424 Cleanup libcheck related code (twitter#211) 683bc1a cc_bstring simplify and fix (twitter#207) 8737d99 continue on server socket on non-blocking errors (twitter#209) 2a62281 add atoi64 to bstring (twitter#206) f71c657 cc_option simplify _allowed_in_name (twitter#205) 24e3131 Add ITT instrumentation option (twitter#204) 236c98d Fix docs (twitter#200) e58f6a8 cc_array and cc_ring_array NULL fixes (twitter#201) 1c8df42 Add basic support of build type (twitter#199) 7107988 Fix now_ns() (twitter#198) da240e5 cc: extend cc_util module (twitter#196) 4846b15 Fix TAILQ_REINIT (twitter#195) 4f5dbb0 Update Cmake version to 2.8 (twitter#197) 2e6f78a cc_mm use OS_DARWIN macro to detect OS (twitter#194) 57acaf6 cc: extend queue module (twitter#193) a64ada2 cc: extend duration module (twitter#192) b117632 reverting CMake file changes (twitter#191) dea5bee backport changes made to ccommon in pelikan (twitter#190) a4c0334 add linebreak to stats_log() (twitter#188) 05eb03e fix inconsistent naming and bump version (twitter#187) 4acc53a Stats to file (twitter#186) 2168fec minimize osx build config (twitter#185) 42b24de Simplify rust options, specify fewer output targets (twitter#183) c9fa905 update CMakeRust used to latest version, tweaks to make build work (twitter#184) 2ef0163 Reorder dependency includes in cmake, don't parallel build (twitter#182) a6a54d9 remove endian-specific logic from str*cmp (twitter#177) 4c0668b epoll_create* ignores size hint in newer kernels, switch to new API (twitter#179) c9c5ee5 improve cc_bstring string literal and cstring names (twitter#176) 0184d73 Add unit tests for buffer, fix buf/dbuf bugs and refactor (twitter#174) d7dab43 create a .cargo/config so intellij uses the same target dir as cmake (twitter#173) e710712 use accept4 for tcp_accept when available (twitter#171) 21ba10e Remove cargo lock for shared lib, closes twitter#169 (twitter#172) 24660f1 update style guide (twitter#170) 17baf1e Per thread logging (twitter#168) git-subtree-dir: deps/ccommon git-subtree-split: 6af182198babff2db218d0149e64ee2fe840dc72
* Squashed 'deps/ccommon/' changes from f5efe29..6af1821 6af1821 Pthread name (#251) e77471e cmake: gen config.h into include to support make install (#249) 0094e2a add convenience array api (#239) 6024ef7 add pipe config to rust ccommon-channel (#247) eaf7f07 remove ccommon-time (#248) 45b7bac add new libraries to contain config structs (#245) 0db032a tuning cmake / ci further (#243) 49dcaff improve cargo build script (#244) 5e64de2 WIP: add fluxcapacitor support for linux build (#242) 55769cc restore cmake for rust libraries (#241) 6b1d8d5 Improve the Rust build story (#240) 5955d6b move nodelay setting to the server socket, and accepted connections will inherit that (#238) aafd20f formatting (#237) 3b5c069 Update ccommon_rs to use bytes v5.0 (#235) df74087 Address clippy lints in rust code (#234) 7c5bbd1 Make metrics and options Send + Sync (#233) c2e617e Ensure that manually implemented C options use the correct name (#232) 6e76741 Add some docs b5b4c5a Change check_pipe to use nanosleep instead of usleep (#231) eb0a389 Use name of field instead of description for C metrics (#230) 16ddc76 Fix broken buf impls (#229) eefcdcb Avoid redundant rebuilds of rust packages in CI (#228) 33f62a8 Update bindgen to also generate bindings recursively (#227) 27ffc7c Implement bytes::Buf and Bytes::ButMut on Buf and OwnedBuf (#226) f873930 Various small bugfixes and usability improvements for rust code (#225) 37a1ecd Port option parsing module to Rust (#224) 38f7556 Fix failed test detection (#215) 0ab1604 Conditionally use std::any::type_name if it's supported (#223) 98176d3 Backport changes from #265 (#222) ba54096 Remove test for removed rust logging functionality (#221) 519118d Rewrite cmake cargo build wrapper (#220) 5d23b3a Fix some small typos found in #263 (#219) 475dda7 Clean up logging shim (#218) 1d28dd2 Expand rust bindings to add options, metrics, and ccbox (#217) 88b5400 Upstream changes from #261 (#216) 4e99e63 fix a bug and change how check is found (#214) 54067ef slightly simplify accept error-handling logic (#210) e9fe980 Fix synchronize ccommon with pelikan deps/ccommon (#212) 7eb6424 Cleanup libcheck related code (#211) 683bc1a cc_bstring simplify and fix (#207) 8737d99 continue on server socket on non-blocking errors (#209) 2a62281 add atoi64 to bstring (#206) f71c657 cc_option simplify _allowed_in_name (#205) 24e3131 Add ITT instrumentation option (#204) 236c98d Fix docs (#200) e58f6a8 cc_array and cc_ring_array NULL fixes (#201) 1c8df42 Add basic support of build type (#199) 7107988 Fix now_ns() (#198) da240e5 cc: extend cc_util module (#196) 4846b15 Fix TAILQ_REINIT (#195) 4f5dbb0 Update Cmake version to 2.8 (#197) 2e6f78a cc_mm use OS_DARWIN macro to detect OS (#194) 57acaf6 cc: extend queue module (#193) a64ada2 cc: extend duration module (#192) b117632 reverting CMake file changes (#191) dea5bee backport changes made to ccommon in pelikan (#190) a4c0334 add linebreak to stats_log() (#188) 05eb03e fix inconsistent naming and bump version (#187) 4acc53a Stats to file (#186) 2168fec minimize osx build config (#185) 42b24de Simplify rust options, specify fewer output targets (#183) c9fa905 update CMakeRust used to latest version, tweaks to make build work (#184) 2ef0163 Reorder dependency includes in cmake, don't parallel build (#182) a6a54d9 remove endian-specific logic from str*cmp (#177) 4c0668b epoll_create* ignores size hint in newer kernels, switch to new API (#179) c9c5ee5 improve cc_bstring string literal and cstring names (#176) 0184d73 Add unit tests for buffer, fix buf/dbuf bugs and refactor (#174) d7dab43 create a .cargo/config so intellij uses the same target dir as cmake (#173) e710712 use accept4 for tcp_accept when available (#171) 21ba10e Remove cargo lock for shared lib, closes #169 (#172) 24660f1 update style guide (#170) 17baf1e Per thread logging (#168) git-subtree-dir: deps/ccommon git-subtree-split: 6af182198babff2db218d0149e64ee2fe840dc72 * disable http target * pin http test to http target
9caf864 Delete flaky assert within check_tcp (twitter#253) 05eca7f Update LICENSE to use the full text (twitter#252) 6af1821 Pthread name (twitter#251) e77471e cmake: gen config.h into include to support make install (twitter#249) 0094e2a add convenience array api (twitter#239) 6024ef7 add pipe config to rust ccommon-channel (twitter#247) eaf7f07 remove ccommon-time (twitter#248) 45b7bac add new libraries to contain config structs (twitter#245) 0db032a tuning cmake / ci further (twitter#243) 49dcaff improve cargo build script (twitter#244) 5e64de2 WIP: add fluxcapacitor support for linux build (twitter#242) 55769cc restore cmake for rust libraries (twitter#241) 6b1d8d5 Improve the Rust build story (twitter#240) 5955d6b move nodelay setting to the server socket, and accepted connections will inherit that (twitter#238) aafd20f formatting (twitter#237) 3b5c069 Update ccommon_rs to use bytes v5.0 (twitter#235) df74087 Address clippy lints in rust code (twitter#234) 7c5bbd1 Make metrics and options Send + Sync (twitter#233) c2e617e Ensure that manually implemented C options use the correct name (twitter#232) 6e76741 Add some docs b5b4c5a Change check_pipe to use nanosleep instead of usleep (twitter#231) eb0a389 Use name of field instead of description for C metrics (twitter#230) 16ddc76 Fix broken buf impls (twitter#229) eefcdcb Avoid redundant rebuilds of rust packages in CI (twitter#228) 33f62a8 Update bindgen to also generate bindings recursively (twitter#227) 27ffc7c Implement bytes::Buf and Bytes::ButMut on Buf and OwnedBuf (twitter#226) f873930 Various small bugfixes and usability improvements for rust code (twitter#225) 37a1ecd Port option parsing module to Rust (twitter#224) 38f7556 Fix failed test detection (twitter#215) 0ab1604 Conditionally use std::any::type_name if it's supported (twitter#223) 98176d3 Backport changes from twitter#265 (twitter#222) ba54096 Remove test for removed rust logging functionality (twitter#221) 519118d Rewrite cmake cargo build wrapper (twitter#220) 5d23b3a Fix some small typos found in twitter#263 (twitter#219) 475dda7 Clean up logging shim (twitter#218) 1d28dd2 Expand rust bindings to add options, metrics, and ccbox (twitter#217) 88b5400 Upstream changes from twitter#261 (twitter#216) 4e99e63 fix a bug and change how check is found (twitter#214) 54067ef slightly simplify accept error-handling logic (twitter#210) e9fe980 Fix synchronize ccommon with pelikan deps/ccommon (twitter#212) 7eb6424 Cleanup libcheck related code (twitter#211) 683bc1a cc_bstring simplify and fix (twitter#207) 8737d99 continue on server socket on non-blocking errors (twitter#209) 2a62281 add atoi64 to bstring (twitter#206) f71c657 cc_option simplify _allowed_in_name (twitter#205) 24e3131 Add ITT instrumentation option (twitter#204) 236c98d Fix docs (twitter#200) e58f6a8 cc_array and cc_ring_array NULL fixes (twitter#201) 1c8df42 Add basic support of build type (twitter#199) 7107988 Fix now_ns() (twitter#198) da240e5 cc: extend cc_util module (twitter#196) 4846b15 Fix TAILQ_REINIT (twitter#195) 4f5dbb0 Update Cmake version to 2.8 (twitter#197) 2e6f78a cc_mm use OS_DARWIN macro to detect OS (twitter#194) 57acaf6 cc: extend queue module (twitter#193) a64ada2 cc: extend duration module (twitter#192) b117632 reverting CMake file changes (twitter#191) dea5bee backport changes made to ccommon in pelikan (twitter#190) a4c0334 add linebreak to stats_log() (twitter#188) 05eb03e fix inconsistent naming and bump version (twitter#187) 4acc53a Stats to file (twitter#186) 2168fec minimize osx build config (twitter#185) 42b24de Simplify rust options, specify fewer output targets (twitter#183) c9fa905 update CMakeRust used to latest version, tweaks to make build work (twitter#184) 2ef0163 Reorder dependency includes in cmake, don't parallel build (twitter#182) a6a54d9 remove endian-specific logic from str*cmp (twitter#177) 4c0668b epoll_create* ignores size hint in newer kernels, switch to new API (twitter#179) c9c5ee5 improve cc_bstring string literal and cstring names (twitter#176) 0184d73 Add unit tests for buffer, fix buf/dbuf bugs and refactor (twitter#174) d7dab43 create a .cargo/config so intellij uses the same target dir as cmake (twitter#173) e710712 use accept4 for tcp_accept when available (twitter#171) 21ba10e Remove cargo lock for shared lib, closes twitter#169 (twitter#172) 24660f1 update style guide (twitter#170) 17baf1e Per thread logging (twitter#168) git-subtree-dir: deps/ccommon git-subtree-split: 9caf864dca0d699b0cb25f2710ba5b5b76e7f691
No description provided.