# 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', ], )