Commit Graph

169 Commits

Author SHA1 Message Date
Miek Gieben bb71be0271 Implement outstanding query detection.
Copied from the standard library and adapted to Go DNS.
2013-08-24 02:28:58 +00:00
Miek Gieben d117fda34b Perform query inflight deduplication
Taking a queue from Go tip, I copied over the new code and tweaked
it a bit for use in Go DNS.
2013-08-23 22:56:34 +00:00
Miek Gieben 3457c0428d Some work in outstanding query de-deplication 2013-08-23 20:29:52 +00:00
Miek Gieben 11d592bfa7 client.Retry does not do anything
Remove from the struct as it was not implemented.
2013-06-15 20:35:09 +01:00
Miek Gieben f595bf7a06 Set license on test files 2013-05-12 16:09:52 +02:00
Miek Gieben 19d93e2181 Fix it 2013-01-28 21:49:23 +01:00
Miek Gieben 6dfe504a09 small cleanups 2013-01-28 20:41:17 +01:00
Miek Gieben 73b9284ec7 remove dead code 2013-01-28 20:40:41 +01:00
Miek Gieben 23483f7959 Make it compile 2013-01-28 20:32:36 +01:00
Miek Gieben 0dc922a99b Add a ExchangeConn 2013-01-28 20:30:13 +01:00
Miek Gieben c8f880217f Close the connection
Patch from: Alex Sergeyev
2013-01-28 19:27:24 +01:00
Miek Gieben 4ba5ac6863 Remove client.Attempts
Didn't like it anyway and it made the calling logic a mess. So it is
now removed. Failed queries can be redone, but they should be initiated
from the client, not within the library.
2013-01-11 19:20:49 +01:00
Miek Gieben e66c2a1324 m.Size isnt used 2012-12-14 13:33:24 +01:00
Miek Gieben 3609f3e7a5 gofmt -s 2012-12-09 19:07:31 +01:00
Miek Gieben d758825590 more documentation 2012-12-02 10:14:53 +01:00
Miek Gieben 1297852fdc Fix tcp read/writes and client.Attempts
Thanks to a bug report from Vitalie Cherpec which commented that this
didn't work.

The timeout settings we not in the client.attempts loop, so they
were only active for the first attempt. And the loop wasn't broken
out of when the write or read succeeded.

Both these issues are now fixed.
2012-11-22 15:06:21 +01:00
Miek Gieben c7ad10314a Remove the Do function -- easy to do in standard Go 2012-11-19 18:14:09 +01:00
Miek Gieben 33e3a5396e Dont even bother do allocate a channel 2012-11-19 16:55:14 +01:00
Miek Gieben e2ca025569 update documentation 2012-11-19 16:22:54 +01:00
Miek Gieben 5349c3532f Per suggestion of Jan Mercle 2012-11-19 14:43:02 +01:00
Miek Gieben a0b6e30da7 Fix chaos.go for the new api 2012-11-18 13:51:42 +01:00
Miek Gieben 553b780257 Rearrange some comments 2012-11-18 13:28:16 +01:00
Miek Gieben b34501bc1a add remark 2012-11-18 13:12:11 +01:00
Miek Gieben cbf025827a Fix the documentation 2012-11-18 13:03:11 +01:00
Miek Gieben ccaa90b31e Make client.Do() return a channel (ala time.NewTicker)
This new API finally makes sense, and ditches the callback
2012-11-18 12:50:22 +01:00
Miek Gieben 099d0c1fc7 Add exchange structure for the client 2012-11-18 12:33:56 +01:00
Miek Gieben 3c3d2af072 Remove the Rtt variants 2012-11-18 12:29:40 +01:00
Miek Gieben ea947838d8 Do the TCP write in one write
Before the tcp writes were done like NSD does them:
2 bytes length, and the rest of the message.

Now a complete buffer is created with LLMMM...MMM, where
LL is the 2 byte length and MMM...MMM is the message to be send.
This makes the reply faster at the cost of doing a realloc of the
message buffer.
2012-10-17 12:40:57 +02:00
Miek Gieben 1cca340f0b Use attemps also in the dial function 2012-10-17 09:05:26 +02:00
Miek Gieben bf1e1e15dc docs 2012-10-16 19:14:03 +02:00
Miek Gieben 56221057d3 exchangeBuffer was and is not needed 2012-10-16 13:18:59 +02:00
Miek Gieben be0423d80f Tsig for queries is working again 2012-10-16 09:42:38 +02:00
Miek Gieben 2d3630ac98 refacter the client code a bit and remove the duplicate code 2012-10-16 09:36:52 +02:00
Miek Gieben 3089111fa4 calculate tsig in the normal query path too 2012-10-16 08:50:53 +02:00
Miek Gieben 39b9f93167 Fix tsig in the normal sending of queries 2012-10-15 20:00:49 +02:00
Miek Gieben 570bf8dc69 Use proper error in packing and unpacking
All the relevant functions now return an error instead of
a simple boolean. This greatly approves the feedback to coders.

Spotted some fishy error handling along the way and fix that too.
2012-10-09 21:17:54 +02:00
Miek Gieben 6e9317868b doc tweaks 2012-09-01 17:06:24 +02:00
Miek Gieben ff946625a6 small tweaks 2012-09-01 16:57:15 +02:00
Miek Gieben 7a0877d090 Merge conflict fixed 2012-08-31 15:10:43 +02:00
Miek Gieben 90a2076d8d We were dialing twice 2012-08-31 14:55:47 +02:00
Miek Gieben 9255ad61ac outgoing xfr works, but not for my Go code 2012-08-28 21:36:25 +02:00
Miek Gieben 68961f2f5b Make the IsTsig and IsEdn0 more usefull by returning the record 2012-08-25 11:24:01 +02:00
Miek Gieben 15f03a72fb Not needed 2012-08-23 10:33:33 +02:00
Miek Gieben a8b3c8139b Clean up the client 2012-08-17 08:45:26 +02:00
Miek Gieben b720003623 make api smaller 2012-08-17 08:31:38 +02:00
Miek Gieben 1958fd2031 Fix compile errors 2012-08-08 09:45:31 +02:00
Miek Gieben a282683f7c Add DoRtt 2012-08-08 09:38:23 +02:00
Miek Gieben 37ff3f9f84 Add DROP and READXFR 2012-08-07 12:33:31 +02:00
Miek Gieben cf84dce538 Update the todo 2012-08-06 20:39:35 +02:00
Miek Gieben eec679d102 Remove hijacked 2012-08-06 20:34:09 +02:00