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