- (uncategorized) 避免宏冲突(963845f)
- (uncategorized) 不正确的错误码(6f4c7b1)
- (uncategorized) include macro.h(4ae8744)
- (uncategorized) find protobuf config.cmake(00283d5)
- (uncategorized) link to Protobuf::libprotobuf(18800e8)
- (uncategorized) incorrect assertion & check empty in dtor(b2e1286)
- (uncategorized) main based on Linux promise(fabe62d)
- (uncategorized) timeout -> deadline(6f875c5)
- (uncategorized) use raw_any now(b1b801c)
- (uncategorized) incorrent #ifdef defined(...)(716407e)
- (uncategorized) link correct library(d4c9427)
- (uncategorized) GUN -> GNU, __builtin_expect(6cf7602)
- (uncategorized) include headers to inline(6a14aca)
- (uncategorized) empty()/size() don't consider header is null(dd8d8ed)
- (uncategorized) include macro.h(b475cac)
- (uncategorized) 0 termination & numeric string size check(ad74d23)
- (uncategorized) check port is numeric(c988fe8)
- (uncategorized) incorrect macro(ae57d45)
- (uncategorized) -Wunused & -Wconversion(4759673)
- (uncategorized) compatible to -Wdeprecated(66db98d)
- (uncategorized) WaitForSeconds() ambiguity(ea4fd11)
- (uncategorized) -Wunused-parameter(6a4d754)
- (uncategorized) rpc include protobuf config(7609a9f)
- (uncategorized) large ERRNO_BUFFER_SIZE(881c7c0)
- (uncategorized) mmkv CI(c727a63)
- (uncategorized) Append size init = str.size() & char overload(6700ae8)
- (uncategorized) LogLevel as index(839f799)
- (uncategorized) reorder headers to avoid include windows.h before winsock2(7fc3db3)
- (uncategorized) drop_node_size take the actual size(ie. max_size)(86d7ab8)
- (uncategorized) chunklist iter don't advance(929660f)
- (uncategorized) use PROJECT_SOURCE_DIR instead of SOURCE_DIR(e979fe6)
- (uncategorized) rename(41c4e1a)
- (uncategorized) introduce global timezone and timeval to kanon(e447575)
- (connection_base) check the error from GetSocketError()(8bd894b)
- (Buffer) Allow user append data even thought the size header has prepended.(f6fd1e4)
- (ChunkList) Remove the implementation of ReserveWriteChunk()(87d8e91)
- (ChunkList) Disable
DLOG(...)
macro(45fe149) - (ChunkList)
ReserveChunk()
reserve the chunk in buffers_ instead of free_buffers_(057ff41) - (kanon-cmake) Correct the wrong variable name(b57c5e6)
- (
FMT_LOG_*
) Don't use the data from a temporary object(af1b6d8) - (
StringViewToU*
) Include<cstdint>
to importuint*_t
(0444872) - (ChunkList) Reserve
CHUNK_SIZE
nodes(dfc3483) - (logger) Reorder log level(1799c41)
- (lexical_cast) extern global cast stream(a70cb75)
- (CountDownLatch) Ensure thread-safe(777231d)
- (TcpClient) Cycle reference in close callback(9427cb3)
- (change-log) use git-cliff to generate change-log(76498e8)
- (change-log) Add scope and commit id(49fca66)
- (change-log) Complete commit id with URL(952576b)
- (change-log) v1.1.5(15ef64b)
- (change-log) Change the incorrect tag name(35c1de5)
- (uncategorized) 宏自动缩进(fc20359)
- (uncategorized) Teardown 相关函数(788c770)
- (uncategorized) operator-=/+=(bef6f7b)
- (uncategorized) Defer delete macro(ba79061)
- (uncategorized) MutexGuard dummy variable define macro(7bb65df)
- (uncategorized) level test(9f2c005)
- (uncategorized) set log of protobuf and protobuf-rpc(8e0dcc2)
- (uncategorized) ToUpper/LowerString(4a6d8da)
- (uncategorized) .gitignore(9622bab)
- (git-cliff) Add kanon-specific git-cliff config(1a1980a)
- (change-log) Add script to generate change log(4faef56)
- (ChunkList) Provide
ReserveWriteSpace()
for reserve space before append or prepend.(51585d8) - (ChunkList) [breaking]
Remove
ReserveWriteChunk()
API(3b3e67f) - (RawAny) Add
AnyCast2<T>()
to replace theAnyCast<T>()
(53d0219) - (submodule) Add
kvarint
submodule(ef9ca06) - (ProtobufCodec2) Overload the
TcpConnection *
version ofSend()
(554a53d) - (ProtobufCodec2) Provide a macro to define actual codec class(b69787f)
- (TcpServer) Provide the ability to apply something to all peers(e599fb2)
- (uncategorized) badge(3691a3d)
- (Win) 避免动态库的*.lib覆盖静态库(c18ad34)
- (uncategorized) 改不恰当的API为NO_API(b9d30b8)
- (uncategorized) 完成包数=1时调用GetQueuedCompletionStatus()(2182c40)
- (uncategorized) patch version(dc4abb9)
- (uncategorized) inline->KANON_INLINE(5223e7c)
- (uncategorized) NO_API specifier(aafdb70)
- (uncategorized) -WConversion warning code(5fc0b04)
- (uncategorized) reorder member initializer(5ece7d1)
- (uncategorized) Check more warning(f2a496d)
- (uncategorized) -Wreturn-local(86f219e)
- (uncategorized) use LOG_*_KANON macro to log(c1e6939)
- (uncategorized) use KANON_*_PROTOBUF macro log(601c238)
- (uncategorized) use LOG_*_KANON_PROTOBUF_RPC to log(ba1a0c7)
- (uncategorized) log level setting(4bad732)
- (uncategorized) size header prepend don't requires create a new chunk(8408634)
- (CheckStream) [breaking]
Remove the
chunk_list()
method and expose the.chunk_list
member data(ie. public member)(1d59e42), BREACKING-CHANGE:Thechunk_list()
has removed. User must use.chunk_list
- (rpc-logger) Replace
strcmp()
byStrCastCompare()
.(43fd95e) - (protobuf-logger) Replace
strcmp()
byStrCastCompare()
.(1d78481) - (ProtobufCodec2) Remove
GetMinSize()
(use once)(976a372) - (GenericProtobufCodec) Check readable size before
OnMessage()
(3d1051f)
- (ProtoCodec2) Test the
ProtobufCodec2
works(e6bd25d)
- (uncategorized) set channel read callback but not observe the event(3b15612)
- (uncategorized) convert the port and ip address to network byte order(5c7ecaf)
- (uncategorized) don't call close callback when POLLIN and POLLHUP all in revents(cef2164)
- (uncategorized) write error when peer close connection early(5a85751)
- (uncategorized) INADDR_ANY instead of INADDR_LOOPBACK(8812e03)
- (uncategorized) compare logic, add: caseCompare, and delete: char[N] constructor(9b997fe)
- (uncategorized) ambiguous call of ==(5e47e62)
- (uncategorized) >= ==> <=(2c207c0)
- (uncategorized) bencxxx and testxxx should be included(f319d65)
- (uncategorized) make SetupAsyncLog() be used correctly(e1a4ead)
- (uncategorized) race condition(93321cc)
- (uncategorized) find_first_not_of(25c7005)
- (uncategorized) realloc(p,0)(0bbed21)
- (uncategorized) int2Str() sign(d6f6ea8)
- (uncategorized) client work normally in the async env(d9a77e2)
- (uncategorized) rename(8616cf6)
- (uncategorized) logic(10b9e22)
- (uncategorized) substr_range(862bd5b)
- (uncategorized) forceclose() condition(d5ed6b3)
- (uncategorized) no ThreadInitCallback, do nothing(1be2af6)
- (uncategorized) std::iterator is deprecated in C++17(0293a24)
- (uncategorized) unexpected Shrink()(a820aeb)
- (uncategorized) clone() correct implementation(7275137)
- (uncategorized) Don't include platform macro(89911a2)
- (uncategorized) strcasecmp() useless in MSVC(d04774d)
- (uncategorized) Pid() in MSVC(7b7e8f1)
- (uncategorized) TLS specifier(050272e)
- (uncategorized) 保证CMake内置变量同步(4586be5)
- (uncategorized) 放在project()后面,以防部分变量失效,比如CMAKE_COMPILER_ID(784d1ae)
- (uncategorized) Don't lock in Wait()(15238d2)
- (uncategorized) gtest benchmark use cmake find_package()(e40e4f3)
- (uncategorized) win_last_strerror() on windows only(de6a3ab)
- (uncategorized) Add() operator is + instead of -(a7c2cb1)
- (uncategorized) To Wakeup(), allow empty completion context(3be4fe3)
- (uncategorized) check if connection is established even the write callback be called(a773091)
- (uncategorized) AdvanceAll() after call StringMessageCallback(cca200d)
- (uncategorized) Async message print order(incomplete!)(248353b)
- (uncategorized) call size version drop API to delete nodes(f3169ae)
- (uncategorized) return after calling retry()(69cbaf7)
- (uncategorized) latch count down after print(c774af9)
- (uncategorized) timer* should be wriable in Linux(1cc422f)
- (uncategorized) GCC requires this->shared_from_this()(79e8c7c)
- (uncategorized) Remove wsabuf in Linux(2085177)
- (uncategorized) using namespace kanon(6c9ea12)
- (uncategorized) modify header name(f9434f1)
- (uncategorized) using namespace kanon::detail(9f16175)
- (uncategorized) include required headers(e597203)
- (uncategorized) modify header path(bc57aec)
- (uncategorized) writev() requires <sys/uio.h>(70a44b8)
- (uncategorized) Channel add SetEvents() in Linux(da6085b)
- (uncategorized) complete BufferReadFromFd()(9149fcc)
- (uncategorized) clang-format think these aux macro as statement to format(0a1391b)
- (uncategorized) modify incorrect type(78c183f)
- (uncategorized) CMAKE_CURRENT_BINARY_DIR(66f9b10)
- (uncategorized) cmake build must specify config type on Windows(3585948)
- (uncategorized) Liunx -> Linux(c14a45c)
- (uncategorized) BufferOverlapRecv() called only on windows(5f5a42e)
- (uncategorized) template explicit instantiation should put to source(a15d40d)
- (uncategorized) GUNC->GNUC(5c6b66a)
- (uncategorized) include compiler_macro.h(ae34522)
- (uncategorized) add blank before **/*(3d36217)
- (uncategorized) add libgc only KANON_TESTS specified(9ccf87b)
- (uncategorized) init function(2e55927)
- (uncategorized) win has no ssize_t(aecea93)
- (uncategorized) POller implemented by IOCP(d999ca6)
- (uncategorized) compatible Win(3de674c)
- (uncategorized) IOCP completion aux(865be14)
- (uncategorized) init(2)(5b9f5d4)
- (uncategorized) Event part split(37e3f13)
- (uncategorized) endian_api(2)(30e120b)
- (uncategorized) gettid() compatible(828835a)
- (uncategorized) (drop_node|erase_*)_size API(990cd04)
- (uncategorized) version 1.7.0(1646416)
- (uncategorized) cmake CI on windows(268bf5c)
- (uncategorized) copy dll to execute program directory(7af8b41)
- (uncategorized) CMake usage(eaa93bc)
- (uncategorized) specifier(0dc977f)
- (uncategorized) Win gettimeofday() impl(4508eae)
- (uncategorized) Win replace setbuffer() with setvbuf()(5c5a49a)
- (uncategorized) platform related(28382b7)
- (uncategorized) prefer function to set global state instead file scope variable(5e4ac3c)
- (uncategorized) client compatible(3548fc5)
- (uncategorized) socket compatible(6b01d0e)
- (uncategorized) get Win thread id(1c04b25)
- (uncategorized) compatible(NOT complete)(3c0227c)
- (uncategorized) GetSocketError() compatible & FIX: ConnectEx() bind addr(b1f11ff)
- (uncategorized) print config file path to debug(b6e3630)
- (uncategorized) cmake windows CI(1daa2f0)
- (uncategorized) trigger based on paths(ed96fe9)
- (uncategorized) complete trigger(6d0d49b)
- (uncategorized) badge(2c12ddf)
- (uncategorized) define dll macros when building and linking(484b1e4)
- (uncategorized) DLL export specifier & KANON_NOEXCEPT & KANON_INLINE replace(b7fb03c)
- (uncategorized) paths(ba2173f)
- (uncategorized) add blank after **/*(d408326)
- (uncategorized) ANSI Terminal color(49406fb)
- (uncategorized) Channel design split(eacd5d6)
- (uncategorized) TimerQueue split(612ec28)
- (uncategorized) sock API split(2b7944d)
- (uncategorized) remove sys/time.h(140237c)
- (uncategorized) Connection for IOCP(55a7801)
- (uncategorized) Connector compatible(1be556f)
- (uncategorized) event loop compatible(fafe984)
- (uncategorized) inet addr compatible(b74edb0)