mirror of
https://github.com/sot-tech/mochi.git
synced 2026-07-16 21:28:11 -07:00
add helper methods to get IPv4 and IPv6 peer
This commit is contained in:
@@ -27,16 +27,14 @@ func (f FailedToRetrievePeers) Error() string { return string(f) }
|
||||
func responseAnnounceClient(next tracker.AnnounceHandler) tracker.AnnounceHandler {
|
||||
return func(cfg *chihaya.TrackerConfig, req *chihaya.AnnounceRequest, resp *chihaya.AnnounceResponse) (err error) {
|
||||
storage := store.MustGetStore()
|
||||
peer4 := chihaya.Peer{ID: req.PeerID, IP: req.IPv4, Port: req.Port}
|
||||
peer6 := chihaya.Peer{ID: req.PeerID, IP: req.IPv6, Port: req.Port}
|
||||
|
||||
resp.MinInterval = cfg.MinAnnounceInterval
|
||||
resp.Compact = req.Compact
|
||||
resp.Complete = int32(storage.NumSeeders(req.InfoHash))
|
||||
resp.Incomplete = int32(storage.NumLeechers(req.InfoHash))
|
||||
resp.IPv4Peers, resp.IPv6Peers, err = storage.AnnouncePeers(req.InfoHash, req.Left == 0, int(req.NumWant), peer4, peer6)
|
||||
resp.IPv4Peers, resp.IPv6Peers, err = storage.AnnouncePeers(req.InfoHash, req.Left == 0, int(req.NumWant), req.Peer4(), req.Peer6())
|
||||
if err != nil {
|
||||
return err.(FailedToRetrievePeers)
|
||||
return FailedToRetrievePeers(err.Error())
|
||||
}
|
||||
|
||||
return next(cfg, req, resp)
|
||||
|
||||
Reference in New Issue
Block a user