diff options
author | Ebrahem Qassem <ekassem@codeaurora.org> | 2011-11-20 14:57:09 +0200 |
---|---|---|
committer | Steve Kondik <shade@chemlab.org> | 2012-09-11 13:20:30 -0700 |
commit | 5fbe95affc8eeed93c678b1d271f64dcc4dd919b (patch) | |
tree | 053d8358e76befa6fd95e7cef8319045e534167f /net/host_resolver_helper/dyn_lib_loader_decl.h | |
parent | a75b259c30d54752a0d42804631bcf309b381f90 (diff) | |
download | external_chromium-5fbe95affc8eeed93c678b1d271f64dcc4dd919b.zip external_chromium-5fbe95affc8eeed93c678b1d271f64dcc4dd919b.tar.gz external_chromium-5fbe95affc8eeed93c678b1d271f64dcc4dd919b.tar.bz2 |
net: networking optimizations
features:
- early connection
- memory cache
- caching of redirection
- request queue priority
- closing unused sockets
- SHUTR
- fin aggregation
- object prefetch
- dns host name prioritization
Change-Id: Ief90b8206ba48115eaeb12d554424d65f36427ac
Diffstat (limited to 'net/host_resolver_helper/dyn_lib_loader_decl.h')
-rw-r--r-- | net/host_resolver_helper/dyn_lib_loader_decl.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/net/host_resolver_helper/dyn_lib_loader_decl.h b/net/host_resolver_helper/dyn_lib_loader_decl.h new file mode 100644 index 0000000..a0ca0d6 --- /dev/null +++ b/net/host_resolver_helper/dyn_lib_loader_decl.h @@ -0,0 +1,51 @@ +/** --------------------------------------------------------------------------- + Copyright (c) 2011, Code Aurora Forum. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Code Aurora Forum, Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + -----------------------------------------------------------------------------**/ + +#ifndef __DYN_LIB_LOADER_DECL_H__ +#define __DYN_LIB_LOADER_DECL_H__ + +//This macro should be placed in module which is exporting the interface +//first parameter is the interface class, second is the function which returns the interface object +//EXAMPLE: DECLARE_DYNAMIC_OBJECT_INTERFACE(Interface,InterfaceImpl::GetInstance) +#define DECLARE_DYNAMIC_OBJECT_INTERFACE_EX(__interface_class__, __get_instance_method__) \ + extern "C" void* Get##__interface_class__##Object() \ + __attribute__ ((visibility ("default"))); \ + void* Get##__interface_class__##Object() {\ + __interface_class__* ptr = __get_instance_method__();\ + return static_cast<void*>(ptr);\ + } \ + +//This macro should be placed in module which is exporting the interface +//first parameter is the interface class, second is the class implemeting the static +//GetInstance function to get the interface object +//EXAMPLE: DECLARE_DYNAMIC_OBJECT_INTERFACE(Interface,InterfaceImpl) +#define DECLARE_DYNAMIC_OBJECT_INTERFACE(__interface_class__,__impl_class__) \ + DECLARE_DYNAMIC_OBJECT_INTERFACE_EX(__interface_class__,__impl_class__::GetInstance) \ + +#endif //__DYN_LIB_LOADER_DECL_H__ |