[ https://issues.apache.org/jira/browse/TS-659?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Leif Hedstrom resolved TS-659. ------------------------------ Resolution: Won't Fix Fix Version/s: (was: 6.0.0) Closing, we should file independent bugs for the dependency cleanups of individual modules. > Reduce cross dependencies in various modules > -------------------------------------------- > > Key: TS-659 > URL: https://issues.apache.org/jira/browse/TS-659 > Project: Traffic Server > Issue Type: Bug > Components: Core > Reporter: Leif Hedstrom > > Right now, it's very difficult to build things (e.g. traffic_logcat) without > including pretty much the entire code base. This is because of cross > dependencies between various modules and libraries. So, where "logging" ought > to be fairly self sustained, it really isn't. In an attempt to decouple this > a little, I made a stub .cc file, which traffic_logcat and traffic_logstats > uses. Yes this is ugly. Yes, it should be fixed (hence this bug). But it > reduces the binary size for these binaries in the normal build from around > 34MB to 4MB, each ... > As a help to isolate *some* of the cross dependencies, here's the ugly stub > code: > {code} > #include "libts.h" > #include "LogObject.h" > #if defined(solaris) > #include <sys/types.h> > #include <unistd.h> > #endif > #include "P_Net.h" > int fds_limit = 8000; > UDPNetProcessor &udpNet; > ClassAllocator<UDPPacketInternal> udpPacketAllocator("udpPacketAllocator"); > void > UDPConnection::Release() > { > ink_release_assert(false); > } > void > UDPNetProcessor::FreeBandwidth(Continuation * udpConn) > { > ink_release_assert(false); > } > NetProcessor& netProcessor; > Action * > UnixNetProcessor::connect_re_internal(Continuation * cont, unsigned int ip, > int port, NetVCOptions * opt) > { > ink_release_assert(false); > return NULL; > } > #include "InkAPIInternal.h" > ConfigUpdateCbTable *global_config_cbs = NULL; > void > ConfigUpdateCbTable::invoke(const char *name) > { > ink_release_assert(false); > } > const char * > event_int_to_string(int event, int blen, char *buffer) > { > ink_release_assert(false); > return NULL; > } > struct Machine; > Machine * > this_machine() > { > ink_release_assert(false); > return NULL; > } > #include "LogConfig.h" > void > LogConfig::setup_collation(LogConfig * prev_config) > { > ink_release_assert(false); > } > void > LogConfig::create_pre_defined_objects_with_filter(const > PreDefinedFormatInfoList & pre_def_info_list, size_t num_filters, > LogFilter ** filter, const > char *filt_name, bool force_extension) > { > ink_release_assert(false); > } > int > LogHost::write(LogBuffer * lb, size_t * to_disk, size_t * to_net, size_t * > to_pipe) > { > ink_release_assert(false); > return 0; > } > {code} -- This message was sent by Atlassian JIRA (v6.1.5#6160)