[bind10-dev] truncate, TCP, and UDPQuery (ticket #499 and #554) - please respond
Shane Kerr
shane at isc.org
Tue Feb 1 13:21:25 UTC 2011
Scott,
On Mon, 2011-01-31 at 09:33 -0700, Scott Mann wrote:
> The compromise solution is
>
> 3) abstract UDPQuery to IOFetch and add something (flag, union, etc) to
> indicate whether tcp or udp ought to be used. Here, IOFetch would still
> do much of the heavy lifting with respect to communication (setting up
> socket and so on).
>
> It should be noted that there are other possibilities
>
> 4) Create a TCPFetch, which would behave similary to the current
> UDPQuery, but use TCP. This approach seems heavy (redundant code).
If we are able to modify IOFetch to such an extent that a flag can
direct it to use either UDP or TCP, then surely we want to abstract out
the UDP/TCP bits into a separate class and use them?
class IOFetchProtocol
{
int connectThingy(...) = 0;
.
.
.
}
class IOFetch
{
IOFetchProtocol fetch_protocol_;
.
.
.
}
> So, I sent out two emails over the weekend to bind10-dev largely to this
> effect. Based on feedback from Jelte and some Jabber discussions, 3)
> seemed the most reasonable approach. After some more Jabber discussions,
> I opened ticket #554 for the abstraction of UDPQuery to IOFetch. I gave
> it an estimate of "8", which may well be high. However, it will reduce
> ticket #499 (the truncate problem) to a 2 or 3.
>
> The task described in 3), as I see it is:
>
> A) Convert UDPQuery from a struct to th IOFetch class (I think unions
> inside the struct will be messy)
> B) Implement TCP client-side support in IOFetch and remove the
> dependency on UDP
> C) Write unittests for TCP client-side support
> D) Make sure that nothing that currently works gets broken.
>
> Let me know if I should stop work on these because we need to discuss
> them at our next sprint.
Does it make sense to split out A) into a separate task? Just in the
interest of keeping things as small as possible...
Otherwise I think the basic plan makes sense.
--
Shane
More information about the bind10-dev
mailing list