From: BruceWang Date: Thu, 23 May 2019 02:13:48 +0000 (+0800) Subject: Add OnQuery Hook X-Git-Tag: v1.2.0~2 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=60e215aa817cc66691873ec3bad4b767f807de30;p=btrtrc.git Add OnQuery Hook --- diff --git a/client.go b/client.go index 2d2a3fa7..004ae686 100644 --- a/client.go +++ b/client.go @@ -313,6 +313,7 @@ func (cl *Client) newDhtServer(conn net.PacketConn) (s *dht.Server, err error) { }(), StartingNodes: cl.config.DhtStartingNodes, ConnectionTracking: cl.config.ConnTracker, + OnQuery: cl.config.DHTOnQuery, } s, err = dht.NewServer(&cfg) if err == nil { diff --git a/config.go b/config.go index 4ac212d6..f8057b23 100644 --- a/config.go +++ b/config.go @@ -7,6 +7,7 @@ import ( "time" "github.com/anacrolix/dht" + "github.com/anacrolix/dht/krpc" "github.com/anacrolix/missinggo" "github.com/anacrolix/missinggo/conntrack" "github.com/anacrolix/missinggo/expect" @@ -124,6 +125,9 @@ type ClientConfig struct { dropDuplicatePeerIds bool ConnTracker *conntrack.Instance + + // OnQuery hook func + DHTOnQuery func(query *krpc.Msg, source net.Addr) (propagate bool) } func (cfg *ClientConfig) SetListenAddr(addr string) *ClientConfig {