Skip to content
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

更新数据 #502

Open
wants to merge 381 commits into
base: gh-pages
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
381 commits
Select commit Hold shift + click to select a range
fe19bcf
Add Protobuf dispatchers.
chenshuo Apr 3, 2011
804b729
Rename 'listenAddr' to 'serverAddr' in examples/timeclient/timeclient.cc
chenshuo Apr 5, 2011
8e2d841
Revert "numConnected should be member of EchoServer."
chenshuo Apr 5, 2011
3a9007f
Revert "Add max connection limit to simple echo example."
chenshuo Apr 5, 2011
f93e6d6
Add max connection limit example.
chenshuo Apr 6, 2011
89819ce
Add protobuf query server/client examples.
chenshuo Apr 11, 2011
a5685fc
Use type traits boost::is_base_of in ProtobufDispatcher.
chenshuo Apr 13, 2011
61f42be
Fix compile on Ubuntu, protobuf depends on pthread.
chenshuo Apr 13, 2011
5d35cbd
Merge branch 'master' of github.com:chenshuo/muduo
chenshuo Apr 13, 2011
53bbb51
assert for std::copy() safety
chenshuo Apr 14, 2011
c0f2dbf
Output buffer is not accessible.
chenshuo Apr 22, 2011
8cd6a9e
Replase list with set in TimerQueue.
chenshuo Apr 22, 2011
b0f8706
Add kick idle connection example in examples/idleconnection.
chenshuo Apr 25, 2011
49d7a91
Add test harness for examples/multiplexer.
chenshuo Apr 26, 2011
1ca6207
Set file mode.
chenshuo Apr 26, 2011
4a27c7c
Get backend server ip from command line.
chenshuo Apr 26, 2011
df61b15
Version 0.2.0
chenshuo Apr 26, 2011
59e9a32
Add start script for examples/multiplexer harness.
chenshuo Apr 27, 2011
dca7634
more info in EventLoop::abortNotInLoopThread().
chenshuo Apr 30, 2011
b22a482
rename Channel::getLoop() to Channel::ownerLoop().
chenshuo May 1, 2011
decdebe
remove mutex from TimerQueue.
chenshuo May 1, 2011
4530780
add Timer::s_numCreated_
chenshuo May 1, 2011
918e204
rename TimerQueue::schedule() to TimerQueue::scheduleInLoop().
chenshuo May 1, 2011
2114a11
formatting code.
chenshuo May 4, 2011
a727de5
no enable_shared_from_this
chenshuo May 4, 2011
668a6c1
try making TcpClient destructable.
chenshuo May 7, 2011
357cdd5
add examples/multiplexer/demux
chenshuo May 7, 2011
8909f71
fix wrong assert().
chenshuo May 7, 2011
72ad0e1
clear socksConn_ when server conn is down.
chenshuo May 7, 2011
9a54c05
add examples/socks4a
chenshuo May 7, 2011
6b9c211
supports both socks4 and socks4a.
chenshuo May 7, 2011
6162020
Version 0.2.1
chenshuo May 7, 2011
a24ecb0
changes from recipes/reactor.
chenshuo May 14, 2011
4fb3e8f
use sockets::read and sockets::write
chenshuo May 14, 2011
734691a
removee wrong assert().
chenshuo May 15, 2011
f8a0e40
Version 0.2.2
chenshuo May 15, 2011
24f9261
fix warnings on 32-bit Ubuntu 11.04
chenshuo May 19, 2011
c837f7c
fix warnings on 64-bit Arch Linux. Split out Endian.h
chenshuo May 24, 2011
4685322
add cmake install
chenshuo May 24, 2011
55d8e61
Version 0.2.3
chenshuo May 24, 2011
b0e19ea
fix typo of copy&paste.
chenshuo May 25, 2011
b63362b
add examples/shorturl.
chenshuo May 27, 2011
d1ebfe3
Version 0.2.4
chenshuo Jun 2, 2011
5f02766
add basic sudoku solver and multiloop one.
chenshuo Jun 15, 2011
9582b8b
add thread pool sudoku solver.
chenshuo Jun 15, 2011
bd75be2
add thread benchmark.
chenshuo Jun 15, 2011
a3dd041
fix decoding of Sudoku request.
chenshuo Jun 18, 2011
4e20ebc
extract SudokuServer::processRequest method.
chenshuo Jun 18, 2011
c285d85
add debug to Mutex
chenshuo Jun 18, 2011
23310fc
fix protobuf codec.
chenshuo Jun 21, 2011
225b0d8
add BoundedBlockingQueue
chenshuo Jun 22, 2011
638b50a
add backport.diff
chenshuo Jun 27, 2011
bacebf2
Version 0.2.6
chenshuo Jun 27, 2011
d30cd15
Mutex.h should not include Thread.h
chenshuo Jul 1, 2011
af75bd7
add armlinux.diff
chenshuo Jul 1, 2011
c074587
Merge branch 'master' of github.com:chenshuo/muduo
chenshuo Jul 1, 2011
5174884
support protobuf 2.2.0
chenshuo Aug 23, 2011
a0954b0
fix adler32 initial value.
chenshuo Aug 26, 2011
8e53ea2
initial integrate with google protobuf rpc.
chenshuo Aug 30, 2011
6b8509d
check-in sudoku rpc example.
chenshuo Aug 30, 2011
eb8edc7
add pthread to protoc-gen-rpc
chenshuo Aug 30, 2011
7c1ca75
add rpcbench.
chenshuo Sep 1, 2011
f7104d1
memory management the hard way.
chenshuo Sep 3, 2011
c43676e
add echo protorpc client.
chenshuo Sep 3, 2011
142a57d
update ChangeLog. Version 0.2.7
chenshuo Sep 3, 2011
edbfc9f
include protorpc echo examples in rpc_all.
chenshuo Sep 3, 2011
63932a8
Make protorpc works for 2.2 and 2.3.
chenshuo Sep 4, 2011
93daf58
fix dependencies.
chenshuo Sep 4, 2011
78f9149
find protobuf automatically
chenshuo Sep 4, 2011
5baf2d4
version 0.2.8
chenshuo Sep 4, 2011
1c14e45
add more asio chat server variants. check protobuf library versions.
chenshuo Sep 5, 2011
5769688
support cancelling timers.
chenshuo Sep 17, 2011
98bdc13
Check return value of pthread_create.
chenshuo Nov 19, 2011
01a0757
Support Keep-Alive for HTTP/1.0.
chenshuo Dec 6, 2011
168dccf
stop() in ThreadPool::dtor.
chenshuo Jan 10, 2012
093bc1c
set TcpNoDelay in rpcbench/client.cc, reserve more buffer in RpcCodec…
chenshuo Jan 10, 2012
84b0b33
remove trailing spaces.
chenshuo Feb 24, 2012
2e3811d
version 0.3.0
chenshuo Feb 24, 2012
1d55c47
set tcp no delay in examples.
chenshuo Feb 26, 2012
6868707
Merge branch 'master' of github.com:chenshuo/muduo
chenshuo Feb 25, 2012
0ec7f07
do not install SocketsOps.h, as it's an internal header.
chenshuo Feb 26, 2012
e090de6
v0.3.1
chenshuo Feb 26, 2012
1e31979
Support multithreaded http server.
chenshuo Feb 27, 2012
694af2b
remove unnecessary header.
chenshuo Feb 26, 2012
02909bf
Update code layout for typesetting.
chenshuo Mar 4, 2012
df18a8c
Install Channel.h
chenshuo Mar 7, 2012
415a31e
Add asychronous DNS resolver based on c-ares library.
chenshuo Mar 8, 2012
61ba677
Set default log level to INFO.
chenshuo Mar 9, 2012
d6f336c
Print CXXFLAGS at build.
chenshuo Mar 10, 2012
83369f5
Add Timestamp::secondsSinceEpoch().
chenshuo Mar 10, 2012
a4dcaac
Support retry at timeouts, c-ares DNS.
chenshuo Mar 10, 2012
3c2d9cc
add load test for file download example.
chenshuo Mar 10, 2012
d04ccb5
v0.3.2
chenshuo Mar 10, 2012
aa73945
Fix build on 32-bit.
chenshuo Mar 11, 2012
51857df
update backport.diff
chenshuo Mar 11, 2012
ced10a6
Merge branch 'master' of github.com:chenshuo/muduo
chenshuo Mar 11, 2012
9689774
add option of BUILD_NO_EXAMPLES.
chenshuo Mar 11, 2012
4b91b40
push/pop warning options.
chenshuo Mar 14, 2012
0bdf3b8
add patch for clang 3.0, no code changes.
chenshuo Mar 14, 2012
6c4d3e4
push/pop are only supported by GCC 4.6+
chenshuo Mar 14, 2012
3649366
remove protorpc2.
chenshuo Mar 14, 2012
76930f6
install rpc.proto and rpc.pb.h
chenshuo Mar 14, 2012
8eb3301
v0.3.3
chenshuo Mar 14, 2012
2cfa4a0
Format example code for typesetting.
chenshuo Mar 15, 2012
f1d4eea
StringPiece overloads for std::string
chenshuo Mar 17, 2012
33e4bd1
install muduo_cdns
chenshuo Mar 17, 2012
f229b89
add example for async rpc.
chenshuo Mar 19, 2012
3fcff5d
v0.3.4
chenshuo Mar 21, 2012
42b40b4
replace boost::dynamic_pointer_cast with muduo::down_pointer_cast.
chenshuo Mar 21, 2012
5d87694
fix warning of release build in g++ 4.6
chenshuo Mar 22, 2012
6a0c947
Format example code for typesetting.
chenshuo Mar 24, 2012
2f4eaaa
Format example code for typesetting.
chenshuo Apr 2, 2012
4273aa3
add ProcessInfo::euid().
chenshuo Apr 20, 2012
85ea5c4
add FileUtil.
chenshuo Apr 20, 2012
2a5b06f
Use 64-bit file offset.
chenshuo Apr 20, 2012
b896275
rename toHostPort() to toIpPort().
chenshuo Apr 20, 2012
53a7708
fix build on 32-bit.
chenshuo Apr 20, 2012
a36f11e
set O_CLOEXEC for /dev/null.
chenshuo Apr 21, 2012
e703755
misc changes for zurg.
chenshuo Apr 21, 2012
7d08a55
build less binaries.
chenshuo Apr 22, 2012
1021e74
add ProcessInfo::maxOpenFiles().
chenshuo Apr 23, 2012
2680d09
add RPC meta service proto
chenshuo Apr 23, 2012
1fb1c32
update GetServiceResponse
chenshuo Apr 24, 2012
a3ab9d7
add FileUtil::SmallFile class and ProcessInfo::numThreads()
chenshuo Apr 28, 2012
bf49389
instantiate FileUtil::SmallFile::readToString
chenshuo Apr 29, 2012
a1bb211
fix bug introduced in e7037557.
chenshuo Apr 30, 2012
ae6a35a
expose ip and port from InetAddress.
chenshuo Apr 30, 2012
2e35584
add ProcessInfo::startTime()
chenshuo Apr 30, 2012
20b2b46
replace read(2) with pread(2) for read proc files repeatly.
chenshuo May 1, 2012
2957784
get file mtime and ctime in FileUtil::readFile
chenshuo May 1, 2012
099989e
logging StringPiece
chenshuo May 2, 2012
66ec601
add curl example.
chenshuo May 16, 2012
ab9c82a
allow error at EPOLL_CTL_DEL
chenshuo May 16, 2012
34ce458
muduo curl works with c-ares.
chenshuo May 17, 2012
b34a905
multiple requests with curl.
chenshuo May 17, 2012
d723081
add loadtest for asio chat.
chenshuo May 17, 2012
7b14122
v0.3.5
chenshuo May 17, 2012
250fdb6
fix build on 32-bit.
chenshuo May 17, 2012
c76b6f1
muduo logging now uses LogStream.
chenshuo May 19, 2012
e01433a
add logging tests
chenshuo May 20, 2012
325a146
add EventLoop::getEventLoopOfCurrentThread(), add ThreadInitCallback …
chenshuo May 20, 2012
9588f16
set SO_KEEPALIVE by default.
chenshuo May 20, 2012
754607b
add asio_chat_server_threaded_highperformance, fix EventLoop::queueIn…
chenshuo May 20, 2012
68a6057
Merge branch 'master' of github.com:chenshuo/muduo
chenshuo May 20, 2012
c9ab199
add HighWaterMark callback to TcpConnection.
chenshuo May 24, 2012
8d8868e
fix bug introduced in 168dccf7, only stop() in ThreadPool dtor when i…
chenshuo May 27, 2012
75eed90
change date format of logging.
chenshuo Jun 2, 2012
2363c69
Format example code for typesetting.
chenshuo Jun 2, 2012
8d46d7c
fix 75eed90c, change date format of Timestamp
chenshuo Jun 2, 2012
defa580
add LogFile and AsyncLogging
chenshuo Jun 3, 2012
97a5f63
v0.5.0
chenshuo Jun 3, 2012
2681755
cache tid string for logging. extract CurrentThread.h
chenshuo Jun 3, 2012
05fb41e
remove test code in Logging_test.cc
chenshuo Jun 3, 2012
f729ae4
move strrchr() from runtime to compile-time.
chenshuo Jun 4, 2012
0db44e9
demonstrate HighWaterMark callback and weak callback.
chenshuo Jun 4, 2012
983510c
put hostname as part of log file name.
chenshuo Jun 6, 2012
37f95b1
Format example code for typesetting.
chenshuo Jun 6, 2012
f2b4279
add examples/zeromq, for latency tests.
chenshuo Jun 10, 2012
964e34b
fix chat codec for invalid length.
chenshuo Jun 10, 2012
78ff5ed
add BlockingQueue_bench.cc
chenshuo Jun 10, 2012
cf918c9
Format example code for typesetting.
chenshuo Jun 10, 2012
d385a16
no IO in calc thread.
chenshuo Jun 10, 2012
a109295
test latency in Thread_bench.cc
chenshuo Jun 10, 2012
8875f89
Merge branch 'master' of github.com:chenshuo/muduo
chenshuo Jun 10, 2012
a225873
v0.6.0
chenshuo Jun 11, 2012
79bb8a9
destructs ThreadLocalSingleton
chenshuo Jun 11, 2012
b5fc606
replace delete with boost::ptr_vector
chenshuo Jun 11, 2012
24862d5
fix compile with g++ 4.6
chenshuo Jun 12, 2012
5acac02
avoid deleting incomplete types.
chenshuo Jun 16, 2012
63b9489
replace __thread object with ThreadLocalSingleton.
chenshuo Jun 20, 2012
b4200e6
catch exception in Thread::runInThread(). rethrow in catch(...) to ma…
chenshuo Jun 20, 2012
677f576
inline Buffer::appendInt32() and Buffer::peekInt32()
chenshuo Jun 24, 2012
ca72bb4
add TimeZone class and unit tests.
chenshuo Jun 26, 2012
4b533ce
v0.7.0
chenshuo Jun 26, 2012
2715810
remove unnecessary wakeup() in EventLoop::runInLoop.
chenshuo Jul 6, 2012
45ed25c
check return value of pthread_mutex_init and pthread_mutex_destroy.
chenshuo Jul 19, 2012
fd3547f
add Buffer::toStringPiece(), so that a Buffer can be sent to many Tcp…
chenshuo Jul 19, 2012
3091c25
add InetAddress::toIp().
SeasonLee Jul 19, 2012
5af6fd8
add several reading and appending methods to Buffer.
SeasonLee Jul 19, 2012
1b3ef8b
add Buffer_unittest.cc
chenshuo Jul 19, 2012
e499820
more Buffer unittests.
chenshuo Jul 20, 2012
bb2cd12
fix bug introduced in 45ed25ce.
chenshuo Jul 20, 2012
79ec46e
improvement notes.
chenshuo Aug 13, 2012
d2a0ae0
Merge branch 'master' of github.com:chenshuo/muduo
chenshuo Aug 13, 2012
652b073
fix AsyncLogging threadFunc
chenshuo Aug 16, 2012
9f2aee5
AsyncLogging format code
chenshuo Aug 16, 2012
1d4d241
AsyncLogging better error message when dropping buffers
chenshuo Aug 17, 2012
e02f4de
add improvement notes.
chenshuo Aug 20, 2012
5df4734
rename fromHostPort to fromIpPort
chenshuo Aug 22, 2012
5c20f77
Add hash value for shared_ptr<int>.
chenshuo Aug 27, 2012
631fc20
Fix for Boost >= 1.47.0
chenshuo Aug 27, 2012
e70b480
add TcpConnection::getMutableContext()
chenshuo Aug 28, 2012
21c3d6d
add method 2 for kicking idle connections
chenshuo Aug 28, 2012
b7afd75
Fix typo
chenshuo Aug 31, 2012
580641b
remove unnecessary code
chenshuo Sep 1, 2012
16d25fa
add assert in Acceptor
chenshuo Sep 1, 2012
d1f2148
constness
chenshuo Sep 2, 2012
0d57469
remove unused code
chenshuo Sep 2, 2012
aca7e9b
rename TimerQueue::scheduleInLoop to TimerQueue::addTimerInLoop
chenshuo Sep 4, 2012
3f30909
rename seq_ to sequence_
chenshuo Sep 4, 2012
040be3e
remove unused header
chenshuo Sep 5, 2012
31fd65d
More prepend methods of Buffer.
SeasonLee Aug 27, 2012
6f60064
v0.8.0
chenshuo Sep 6, 2012
3bac41c
ChangeLog of 0.8.0
chenshuo Sep 7, 2012
4ef7c8a
Logger::SourceFile supports char*
chenshuo Sep 7, 2012
a17db20
add Channel::remove()
chenshuo Sep 7, 2012
550aaf6
replace 'unsigned intXX_t' with uintXX_t
chenshuo Sep 8, 2012
858cd81
fix for g++ 4.7
chenshuo Sep 8, 2012
af48a78
fix typos.
chenshuo Sep 29, 2012
64d4c9a
Merge branch 'master' of github.com:chenshuo/muduo
chenshuo Sep 29, 2012
06c6a32
ChangeLog of 0.8.1
chenshuo Sep 30, 2012
50a55c5
Fix race condition of ThreadPool::stop().
chenshuo Nov 2, 2012
22f52eb
Fix Buffer::shrink().
chenshuo Nov 7, 2012
d4bbc8b
v0.8.2
chenshuo Nov 8, 2012
da65ed4
add examples/wordcount/slowsink.py
chenshuo Nov 10, 2012
36c5a00
add distributed word counting example.
chenshuo Nov 11, 2012
d4b4c76
add single thread concurrent download example in examples/curl.
chenshuo Nov 15, 2012
5c6b11d
fix error in parsing HTTP header with an empty value
SeasonLee Nov 23, 2012
d9c911b
add HttpRequest unittest
chenshuo Nov 24, 2012
9698854
fix Connector get destructed when connecting to a non-exist ip
chenshuo Dec 1, 2012
87b372a
add fastcgi example.
chenshuo Dec 1, 2012
dd26871
fix bug of writing after disconnected. sendInLoop() could be queued a…
chenshuo Dec 10, 2012
81f298d
fix build on 32-bit.
chenshuo Jan 9, 2013
6d190e7
v0.9.0
chenshuo Jan 9, 2013
9f21712
slowsink.py now acts as client too.
chenshuo Jan 11, 2013
92a7153
rename to hasher
chenshuo Jan 13, 2013
422d496
Fix bug introduced in dd26871, when call shutdown() right after send(…
chenshuo Jan 16, 2013
b901187
v0.9.1
chenshuo Jan 17, 2013
4921b3a
Defer the quit() of main loop.
chenshuo Jan 24, 2013
cc5ef43
add log in EventLoop dtor.
chenshuo Jan 24, 2013
850dbb3
add Sudoku client
chenshuo Feb 2, 2013
d3ffee0
remove TODO due to wait morphing
chenshuo Feb 3, 2013
69bdc51
add Buffer::findEOL()
chenshuo Feb 17, 2013
9469358
decouple life time of Thread object and the thread.
chenshuo Feb 24, 2013
325e87f
Update EventLoop.cc
gzc9047 Mar 3, 2013
c782161
Merge pull request #7 from gzc9047/patch-1
chenshuo Mar 4, 2013
a7383b7
update armlinux.diff
chenshuo Mar 5, 2013
8837eb5
update clang.diff
chenshuo Mar 5, 2013
e19fa62
Disable ThreadLocalSingleton ctor/dtor.
chenshuo Mar 15, 2013
e35bba7
fix usage of ThreadLocalSingleton.
chenshuo Mar 15, 2013
ecae005
break after error callback. Thanks to caojie.
chenshuo Mar 23, 2013
1245cbc
v0.9.2
chenshuo Mar 23, 2013
8955221
Fix for gcc 4.8
chenshuo Apr 19, 2013
d0f30ee
Support SO_REUSEPORT.
chenshuo May 5, 2013
2f76155
examples/shorturl makes use of SO_REUSEPORT.
chenshuo May 6, 2013
4668e28
ThreadPool now can be blocking.
chenshuo May 8, 2013
9812765
Fix Mutex::isLockedByThisThread()
chenshuo May 11, 2013
8e6f8d6
v0.9.2
chenshuo May 11, 2013
af611f6
github generated gh-pages branch
chenshuo May 5, 2010
0481c2d
update page.
chenshuo May 5, 2010
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.swp
67 changes: 67 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
cmake_minimum_required(VERSION 2.6)

project(muduo CXX)

if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Debug")
endif()

set(CXX_FLAGS
-g
# -DVALGRIND
# -DMUDUO_STD_STRING
-D_FILE_OFFSET_BITS=64
-Wall
-Wextra
-Werror
-Wconversion
-Wno-unused-parameter
-Wold-style-cast
-Woverloaded-virtual
-Wpointer-arith
-Wshadow
-Wwrite-strings
-march=native
# -MMD
# -std=c++0x
-rdynamic
)
if(CMAKE_BUILD_BITS EQUAL 32)
list(APPEND CXX_FLAGS "-m32")
endif()
string(REPLACE ";" " " CMAKE_CXX_FLAGS "${CXX_FLAGS}")

set(CMAKE_CXX_COMPILER "g++")
#set(CMAKE_CXX_COMPILER "icpc")
set(CMAKE_CXX_FLAGS_DEBUG "-O0")
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -finline-limit=1000 -DNDEBUG")
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)

find_package(Boost REQUIRED)
find_package(Protobuf)
find_package(CURL)
find_path(CARES_INCLUDE_DIR ares.h)
find_library(CARES_LIBRARY NAMES cares)
find_path(MHD_INCLUDE_DIR microhttpd.h)
find_library(MHD_LIBRARY NAMES microhttpd)
find_library(BOOSTTEST_LIBRARY NAMES boost_unit_test_framework)

include_directories(${Boost_INCLUDE_DIRS})

include_directories(${PROJECT_SOURCE_DIR})

string(TOUPPER ${CMAKE_BUILD_TYPE} BUILD_TYPE)
message(STATUS "CXX_FLAGS = " ${CMAKE_CXX_FLAGS} " " ${CMAKE_CXX_FLAGS_${BUILD_TYPE}})

add_subdirectory(muduo/base)
add_subdirectory(muduo/net)

if(NOT CMAKE_BUILD_NO_EXAMPLES)
add_subdirectory(examples)
else()
if(CARES_INCLUDE_DIR AND CARES_LIBRARY)
add_subdirectory(examples/cdns)
endif()
endif()

312 changes: 312 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -0,0 +1,312 @@
2013-05-11 Shuo Chen <[email protected]>
* ThreadPool can be blocking
* Support SO_REUSEPORT, added in kernel 3.9.0
* Fix Mutex::isLockedByThisThread()
* Version 0.9.3

2013-03-22 Shuo Chen <[email protected]>
* Fix bugs
* Add Sudoku client
* Version 0.9.2

2013-01-16 Shuo Chen <[email protected]>
* Fix bug introduced in dd26871
* Version 0.9.1

2013-01-09 Shuo Chen <[email protected]>
* Add single thread concurrent download example in examples/curl.
* Add distributed word counting example.
* Add simple FastCGI example.
* Fix HttpRequest for empty header value, contributed by SeasonLee
* Fix Connector destruction
* Version 0.9.0

2012-11-06 Shuo Chen <[email protected]>
* Version for the book
* Fix Buffer::shrink()
* Fix race condition of ThreadPool::stop()
* Version 0.8.2

2012-09-30 Shuo Chen <[email protected]>
* Add Channel::remove()
* Logger::SourceFile supports char*
* Fix for g++ 4.7
* Version 0.8.1

2012-09-06 Shuo Chen <[email protected]>
* More Buffer member functions, contributed by SeasonLee
* Add unit tests for Buffer
* Fix wait condition in AsyncLogging::threadFunc()
* Rename fromHostPort to fromIpPort
* Add hash_value for shared_ptr
* Add TcpConnection::getMutableContext()
* Remove unnecessary code, header
* Add another example in idleconnection
* Version 0.8.0

2012-06-26 Shuo Chen <[email protected]>

* Add TimeZone class and unit tests.
* Inline Buffer::appendInt32() and Buffer::peekInt32().
* Catch exception in Thread::runInThread().
Rethrow in catch(...) to make pthread_cancel() working.
* Avoid deleting incomplete types.
* Replace delete with boost::ptr_vector
* Destructs ThreadLocalSingleton
* Replace __thread object with ThreadLocalSingleton in examples/asio/chat/
* Fix compile with g++ 4.6
* With armlinux.diff, muduo compiles on Raspberry Pi with g++ 4.5.
* Version 0.7.0

2012-06-11 Shuo Chen <[email protected]>

* Put hostname as part of log file name.
* Extract muduo/base/CurrentThread.h
* Optimize logging for thread id and source filename.
* Add BlockingQueue_bench, improve Thread_bench.
* Add examples/zeromq, for round-trip latency tests.
* Demonstrate HighWaterMark callback and weak callback in tcp tunnel.
* Fix chat codec for invalid length.
* Version 0.6.0

2012-06-03 Shuo Chen <[email protected]>

* Replace std::ostream with LogStream.
* Add LogFile and AsyncLogging.
* Set SO_KEEPALIVE by default.
* Add HighWaterMark callback to TcpConnection.
* Add EventLoop::getEventLoopOfCurrentThread(),
Add ThreadInitCallback to EventLoopThreadPool.
* Add asio_chat_server_threaded_highperformance
* Version 0.5.0

2012-05-18 Shuo Chen <[email protected]>

* Add FileUtil.
* Add new functions in ProcessInfo
* Add example for curl.
* Add add RPC meta service proto.
* Add loadtest for asio chat.
* Version 0.3.5

2012-03-22 Shuo Chen <[email protected]>

* Add example for async rpc (resolver).
* Install muduo_cdns
* Version 0.3.4

2012-03-16 Shuo Chen <[email protected]>

* Remove net/protorpc2
moved to http://github.com/chenshuo/muduo-protorpc
* Install EventLoopThreadPool.h, rpc.proto and rpc.pb.h
* Version 0.3.3

2012-03-11 Shuo Chen <[email protected]>

* Add asynchronous DNS stub resolver based on c-ares.
See also https://github.com/chenshuo/muduo-udns
* Replace string with StringPiece for function parameters.
* Change default log level from DEBUG to INFO,
set MUDUO_LOG_DEBUG=1 to revert.
* Install Channel.h
* Version 0.3.2

2012-03-01 Shuo Chen <[email protected]>

* Support multi-threaded http server.
* Do not install SocketsOps.h
* Version 0.3.1

2012-02-24 Shuo Chen <[email protected]>

* Support Keep-Alive for HTTP/1.0.
* Check return value of pthread_create.
* Minor fixes (set TcpNoDelay, stop() in ThreadPool::dtor)
* Version 0.3.0

2011-09-18 Shuo Chen <[email protected]>

* EventLoop now supports cancelling timer.
* Add two examples of asio chat server, demo copy-on-write
in multithreaded program.
* Version 0.2.9

2011-09-04 Shuo Chen <[email protected]>

* Refactored RPC implementation of version 1 and 2,
programming interface differ, interoperable.
version 2 is incomplete yet.
* Find protobuf with cmake find_package().
* Version 0.2.8

2011-09-03 Shuo Chen <[email protected]>

* Add a proof of concept implementation of Protobuf RPC.
* Version 0.2.7

2011-06-27 Shuo Chen <[email protected]>

* Fix decoding of Sudoku request.
* Backport to older Linux.
* Add BoundedBlockingQueue
* Version 0.2.6

2011-06-15 Shuo Chen <[email protected]>

* Add examples/sudoku.
* Add thread benchmark.
* Version 0.2.5

2011-06-02 Shuo Chen <[email protected]>

* Add examples/shorturl.
* Version 0.2.4

2011-05-24 Shuo Chen <[email protected]>

* Fix warnings on Arch Linux (GCC 4.6.0), thanks to ifreedom
* Add CMake install instructions, thanks to ifreedom
* Fix warnings on 32-bit Linux, thanks to highshow
* Version 0.2.3

2011-05-15 Shuo Chen <[email protected]>

* Changes from reactor tutorial
* Version 0.2.2

2011-05-07 Shuo Chen <[email protected]>

* Try making TcpClient destructable
* Add demux in examples/multiplexer
* Add examples/socks4a
* Changes for reactor tutorial
* Version 0.2.1

2011-04-27 Shuo Chen <[email protected]>

* Add kick idle connection example in examples/idleconnection.
* Add test harness to examples/multiplexer
* Replace std::list with std::set in TimerQueue.
* Version 0.2.0

2011-04-11 Shuo Chen <[email protected]>

* Add Google Protobuf codec and dispatcher
* Revert 'Add max connection limit to simple echo example.'
* Add max connection limit example in examples/maxconnection.
* Version 0.1.9

2011-03-27 Shuo Chen <[email protected]>

* Add file transfer download examples.
* Add max connection limit to simple echo example.
* Make inputBuffer accessible in TcpConnection.
* Const-ness correct in Buffer class.
* Add Mutex test for benchmarking.
* Replace anonymous namespace with muduo::detail in muduo/base.
* Version 0.1.8

2011-02-03 Shuo Chen <[email protected]>

* Fix LengthHeaderCodec::onMessage() in examples/asio/chat.
* Version 0.1.7

2011-02-01 Shuo Chen <[email protected]>

* Fix onConnection() in simple examples.
* Reset t_cachedTid after fork().
* Version 0.1.6

2010-12-15 Shuo Chen <[email protected]>

* Add examples/multiplexer
* Fix epoll kNoneEvent
* Version 0.1.5

2010-11-20 Shuo Chen <[email protected]>

* Fix retry logic
* Version 0.1.4

2010-09-26 Shuo Chen <[email protected]>

* Check SO_ERROR when connection is made.

2010-09-11 Shuo Chen <[email protected]>

* Gracefully refuse clients when accept(2) returns EMFILE.
* Version 0.1.3

2010-09-07 Shuo Chen <[email protected]>

* Libevent benchmark for event handling.
* Version 0.1.2

2010-09-04 Shuo Chen <[email protected]>

* Ping-pong benchmark, version 0.1.1

2010-08-30 Shuo Chen <[email protected]>

* First pre-alpha release, version 0.1.0

2010-08-29 Shuo Chen <[email protected]>

* Sub works.

2010-08-28 Shuo Chen <[email protected]>

* Add twisted finger examples.

2010-08-27 Shuo Chen <[email protected]>

* Add simple chargen example.

2010-08-07 Shuo Chen <[email protected]>

* Add Date.

2010-05-15 Shuo Chen <[email protected]>

* Hub works.

2010-05-14 Shuo Chen <[email protected]>

* Inspects opened files and threads.

2010-05-11 Shuo Chen <[email protected]>

* Add inspector for process info.

2010-05-04 Shuo Chen <[email protected]>

* Add simple http server and client.

2010-04-25 Shuo Chen <[email protected]>

* Add examples.

2010-04-11 Shuo Chen <[email protected]>

* TcpClient works.

2010-04-03 Shuo Chen <[email protected]>

* TcpServer works.

2010-03-15 Shuo Chen <[email protected]>

* TcpConnection at server side works.

2010-03-14 Shuo Chen <[email protected]>

* Acceptor works.

2010-03-13 Shuo Chen <[email protected]>

* TimerQueue works.

2010-03-12 Shuo Chen <[email protected]>

* Starts working on Muduo.
Loading