Summary: First draft. Unit tests pass. Test Plan: unit tests attached Reviewers: heyongqiang Reviewed By: heyongqiang Differential Revision: https://reviews.facebook.net/D3969
104 lines
2.5 KiB
Plaintext
104 lines
2.5 KiB
Plaintext
# The base async library
|
|
cpp_library(
|
|
name = 'async_base',
|
|
srcs = [
|
|
'TAsyncServerSocket.cpp',
|
|
'TAsyncSignalHandler.cpp',
|
|
'TAsyncSocket.cpp',
|
|
'TAsyncTimeout.cpp',
|
|
'TBinaryAsyncChannel.cpp',
|
|
'THeaderAsyncChannel.cpp',
|
|
'TEventBase.cpp',
|
|
'TEventBaseManager.cpp',
|
|
'TEventHandler.cpp',
|
|
'TFramedAsyncChannel.cpp',
|
|
'TNotificationPipe.cpp',
|
|
'TUnframedAsyncChannel.cpp',
|
|
'THttpAsyncChannel.cpp',
|
|
],
|
|
deps = [
|
|
'@/folly/experimental/io',
|
|
'@/thrift/lib/cpp:thrift_base',
|
|
'@/thrift/lib/cpp/transport',
|
|
'@/thrift/lib/cpp/transport:header',
|
|
'@/thrift/lib/cpp/protocol',
|
|
'@/thrift/lib/cpp/server',
|
|
'@/thrift/lib/cpp/util:httpparser',
|
|
],
|
|
external_deps = [ ('libevent', None) ],
|
|
)
|
|
|
|
# TEventServer library (async name is used all over), now depends on ssl
|
|
cpp_library(
|
|
name = 'async',
|
|
srcs = [
|
|
'TEventConnection.cpp',
|
|
'TEventServer.cpp',
|
|
'TEventTask.cpp',
|
|
'TEventWorker.cpp',
|
|
],
|
|
deps = [
|
|
':async_ssl',
|
|
],
|
|
)
|
|
|
|
cpp_library (
|
|
name = "async_ssl",
|
|
srcs = [
|
|
'TAsyncSSLServerSocket.cpp',
|
|
'TAsyncSSLSocket.cpp',
|
|
],
|
|
deps = [
|
|
":async_base",
|
|
"@/thrift/lib/cpp/transport:transport_ssl",
|
|
],
|
|
external_deps = [ ("openssl", None, "ssl"),
|
|
("openssl", None, "crypto") ],
|
|
)
|
|
|
|
# This library is the same as async_ssl, except that it has the debug
|
|
# logging level set to 4, whereas async_ssl has debug logging disabled.
|
|
cpp_library (
|
|
name = "async_ssl_log",
|
|
srcs = [
|
|
'TAsyncSSLServerSocket.cpp',
|
|
'TAsyncSSLSocket.cpp',
|
|
],
|
|
deps = [
|
|
":async_base",
|
|
"@/thrift/lib/cpp/transport:transport_ssl",
|
|
],
|
|
external_deps = [ ("openssl", None, "ssl"),
|
|
("openssl", None, "crypto") ],
|
|
preprocessor_flags = [
|
|
"-DT_GLOBAL_DEBUGGING_LEVEL=4"
|
|
],
|
|
output_subdir = "async_ssl_log",
|
|
)
|
|
|
|
cpp_library(
|
|
name = 'zlib',
|
|
srcs = [
|
|
'TZlibAsyncChannel.cpp',
|
|
],
|
|
deps = [
|
|
':async',
|
|
'@/thrift/lib/cpp/transport:zlib',
|
|
],
|
|
)
|
|
|
|
# Parts of the async library that depend on C++11 features.
|
|
# This is separate from the main async library for now so that users who cannot
|
|
# depend on C++11 features yet will still be able to use the bulk of the async
|
|
# library.
|
|
cpp_library(
|
|
name = 'async_cxx11',
|
|
srcs = [
|
|
'TAsyncTimeoutSet.cpp',
|
|
],
|
|
deps = [
|
|
':async_base',
|
|
'@/folly',
|
|
],
|
|
)
|