data UDPResponse = ConnectResp Integer Integer -- transaction_id connection_id
| AnnounceResp Integer Integer Integer Integer [(IP, Port)] -- transaction_id interval leechers seeders [(ip, port)]
| ScrapeResp Integer Integer Integer Integer
data UDPResponse = ConnectResp Integer Integer -- transaction_id connection_id
| AnnounceResp Integer Integer Integer Integer [(IP, Port)] -- transaction_id interval leechers seeders [(ip, port)]
| ScrapeResp Integer Integer Integer Integer
_ -> error ("unknown response action type: " ++ show a)
getIPPortPairs :: Get [(IP, Port)]
_ -> error ("unknown response action type: " ++ show a)
getIPPortPairs :: Get [(IP, Port)]