package org.limewire.friend.impl.address;
import java.util.concurrent.ConcurrentHashMap;
import org.limewire.friend.impl.address.FriendAddress;
import org.limewire.io.Address;
import org.limewire.util.StringUtils;
import com.google.inject.Singleton;
/**
* Maintains the currently known addresse for each {@link FriendAddress}.
*
* Used for address resolution.
*/
@Singleton
public class FriendAddressRegistry {
private final ConcurrentHashMap<FriendAddress, Address> addressMap;
public FriendAddressRegistry() {
this.addressMap = new ConcurrentHashMap<FriendAddress, Address>();
}
public void put(FriendAddress friendAddress, Address address){
addressMap.put(friendAddress, address);
}
public Address get(FriendAddress friendAddress) {
return addressMap.get(friendAddress);
}
public void remove(FriendAddress friendAddress) {
addressMap.remove(friendAddress);
}
@Override
public String toString() {
return StringUtils.toString(this);
}
}