atomashpolskiy / bt

BitTorrent library and client with DHT, magnet links, encryption and more
https://atomashpolskiy.github.io/bt/
Apache License 2.0
2.4k stars 382 forks source link

[Request] Implement a getter-interface for events that receives Peer from an event #230

Open freedom1b2830 opened 3 months ago

freedom1b2830 commented 3 months ago

Events that are inherited from BaseEvent implement TorrentEvent which allows you to get the torrent id. It would be great to also receive bt.net.Peer from events. My case: I'm writing a tracker. I need to record events to a file, there is a convenient way to get the id: use the method from TorrentEvent. But when I want to get Peer from an event, then I have to process each event separately through

if(obj instanceof PeerDiscoveredEvent casted){
      return casted.getPeer();
}else if(obj instanceof PeerDisconnectedEvent casted){
      return casted.getPeer();
}
else if(obj instanceof PeerConnectedEvent casted){
      return casted.getPeer();
}
return null;//for example

version:1.10