On 02/04/2011 08:38 AM, Amos Jeffries wrote:
Christos,
I think the moving the Coordinator to a registry subscription pattern is
what we need to do to fix the depdendency hell from SNMP support changes
yesterday.
The problem stems around src/ipc/Coordinator.* containing
handle*Request() handle*Response() for particular components which are
it's users. The obvious ones are Snmp req/resp but the cachemgr ones
also hit from the inverse side.
In the end the SNMP and MGR components should be higher level than IPC
and register a Subscription handler/call with it for runtime selection
instead of being hard coded at build time.
Amos
Is is not so easy. This is only a very small part of the problem. The
new code uses various external objects and functions, which are located
to other libraries or objects.
The Coordinator does not use only SNMP and MGR components but also uses
the comm_* functions and objects located in comm.cc and Comm* files and
many other functions and objects.
I was able to bypass testACLMaxUserIP linking problems adding the
following files:
BodyPipe.cc DnsLookupDetails.cc tests/stub_fd.cc pconn.cc
tests/stub_ipcache.cc tests/stub_ssl.cc tests/stub_client_db.cc
tests/stub_net_db.cc
and removing the stub_comm.cc
But now I have worst problems with the testDiskIO (the last test does
not build).
The main problem is that all libraries under src/ are not real libraries
but just objects collections. It does not make sense to try use them as
libraries.
Real libraries should have a hierarchical dependency (I am not sure if I
am using the right words here.)
In general, I do not know if it is worth to spend all of this time
trying to make this tests to work :-(