## Uses of Class
net.i2p.router.sybil.Points

- Packages that use Points
  Package | Description
  --- | ---
  net.i2p.router.sybil | Offline analysis tools for detecting Sybil attacks and malicious peer coordination in the I2P network.

- - ### Uses of Points in net.i2p.router.sybil

    Methods in net.i2p.router.sybil that return Points
    Modifier and Type | Method and Description
    --- | ---
    `static Points` | Points.`fromString(String s)` For persistence.

    Methods in net.i2p.router.sybil that return types with arguments of type Points
    Modifier and Type | Method and Description
    --- | ---
    `Map<Hash,Points>` | Analysis.`backgroundAnalysis(boolean includeAll)` Analyze threats.
    `Map<Long,Points>` | PersistSybil.`load(Hash h)` Load all the analysis for a certain hash.
    `Map<Hash,Points>` | PersistSybil.`load(long date)` Load the analysis for a certain date.

    Methods in net.i2p.router.sybil with parameters of type Points
    Modifier and Type | Method and Description
    --- | ---
    `int` | Points.`compareTo(Points r)`

    Method parameters in net.i2p.router.sybil with type arguments of type Points
    Modifier and Type | Method and Description
    --- | ---
    `void` | Analysis.`addProfilePoints(List<RouterInfo> ris, Map<Hash,Points> points)` Analyzes router profiles and adds Sybil points for banlisted, newly observed, or poorly performing routers.
    `void` | Analysis.`addVersionPoints(List<RouterInfo> ris, Map<Hash,Points> points)` Analyzes router versions and adds Sybil points for old, unreachable, or non-floodfill routers.
    `Map<Integer,List<RouterInfo>>` | Analysis.`calculateIPGroups16(List<RouterInfo> ris, Map<Hash,Points> points)` Categorize routers by their /16 subnet to identify routers in the same /16 network.
    `Map<Integer,List<RouterInfo>>` | Analysis.`calculateIPGroups24(List<RouterInfo> ris, Map<Hash,Points> points)` Categorize routers by their /24 subnet to identify routers in the same /24 network.
    `Map<Integer,List<RouterInfo>>` | Analysis.`calculateIPGroups32(List<RouterInfo> ris, Map<Hash,Points> points)` Categorize routers by their IP address to identify routers sharing the same IP.
    `Map<Long,List<RouterInfo>>` | Analysis.`calculateIPGroups48(List<RouterInfo> ris, Map<Hash,Points> points)` Categorize routers by their IPv6 /48 subnet to identify routers in the same /48 network.
    `Map<Long,List<RouterInfo>>` | Analysis.`calculateIPGroups64(List<RouterInfo> ris, Map<Hash,Points> points)` Categorize routers by their IPv6 /64 subnet to identify routers in the same /64 network.
    `Map<String,List<RouterInfo>>` | Analysis.`calculateIPGroupsFamily(List<RouterInfo> ris, Map<Hash,Points> points)` Categorize routers by their router family to identify routers in the same family.
    `void` | Analysis.`calculateIPGroupsUs(List<RouterInfo> ris, Map<Hash,Points> points, List<RouterInfo> ri32, List<RouterInfo> ri24, List<RouterInfo> ri16, List<RouterInfo> ri64, List<RouterInfo> ri48)` Categorize routers by their proximity to our IP address, grouping them by /32, /24, /16 for IPv4 and /64, /48 for IPv6.
    `double` | Analysis.`calculatePairDistance(List<RouterInfo> ris, Map<Hash,Points> points, List<Pair> pairs)` Calculate average pairwise distance between floodfills and identifies routers that are unusually close to each other.
    `void` | Analysis.`calculateRouterInfo(Hash us, String usName, List<RouterInfo> ris, Map<Hash,Points> points)`
    `void` | PersistSybil.`store(long date, Map<Hash,Points> entries)` Store each entry.