package meta import "net" type Event string const ( NoEvent Event = "" Started Event = "started" Stopped Event = "stopped" Completed Event = "completed" ) type TrackerRequest struct { InfoHash []byte // info_hash PeerID []byte // peer_id Port int Uploaded int Downloaded int Left int Compact bool NoPeerID bool Event Event IP net.IPAddr NumWant int Key []byte TrackerID []byte } type TrackerResponse struct { FalureReason string `bencode:"failure reason"` WarningMessage string `bencode:"warning message"` Interval int `bencode:"interval"` MinInterval int `bencode:"min interval"` TrackerId string `bencode:"tracker id"` Complete int `bencode:"complete"` Incomplete int `bencode:"incomplete"` Peers Peer `bencode:"peers"` } type Peer struct { PeerId string `bencode:"peer id"` IP string `bencode:"ip"` Port string `bencode:"ports"` } // Peer (compact) []byte