net.i2p.router.peermanager

## Class ProfilePersistenceHelper

- java.lang.Object
- - net.i2p.router.peermanager.ProfilePersistenceHelper

     class ProfilePersistenceHelper
    extends Object

Write profiles to disk at shutdown, read at startup. The files are gzip compressed, we previously stored them with a ".dat" extension instead of ".txt.gz", so it wasn't apparent. Now migrated to a ".txt.gz" extension.

### Field Summary

Fields
`static String` `DEFAULT_PEER_PROFILE_DIR`
`static long` `EXPIRE_AGE` If we haven't been able to get a message through to the peer in 3 days, drop the profile.
`static String` `PROP_PEER_PROFILE_DIR`

### Constructor Summary

Constructors
Constructor and Description
`ProfilePersistenceHelper(RouterContext ctx)`

### Method Summary

Methods
`static void` `main(String[] args)` generate 1000 profiles
`PeerProfile` `readProfile(File file)`
`Set<PeerProfile>` `readProfiles()`
`void` `setUs(Hash routerIdentHash)`
`void` `writeProfile(PeerProfile profile)` write out the data from the profile to the stream
`void` `writeProfile(PeerProfile profile, OutputStream out)` write out the data from the profile to the stream

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### PROP_PEER_PROFILE_DIR

    public static final String PROP_PEER_PROFILE_DIR

See Also:
  Constant Field Values

#### DEFAULT_PEER_PROFILE_DIR

    public static final String DEFAULT_PEER_PROFILE_DIR

See Also:
  Constant Field Values

#### EXPIRE_AGE

    public static final long EXPIRE_AGE

If we haven't been able to get a message through to the peer in 3 days, drop the profile. They may reappear, but if they do, their config may have changed (etc).

See Also:
  Constant Field Values

### Constructor Detail

#### ProfilePersistenceHelper

    public ProfilePersistenceHelper(RouterContext ctx)

### Method Detail

#### setUs

    public void setUs(Hash routerIdentHash)

#### writeProfile

    public void writeProfile(PeerProfile profile)

write out the data from the profile to the stream

#### writeProfile

    public void writeProfile(PeerProfile profile,
                    OutputStream out)
                      throws IOException

write out the data from the profile to the stream

Throws:
  `IOException`

#### readProfiles

    public Set<PeerProfile> readProfiles()

#### readProfile

    public PeerProfile readProfile(File file)

#### main

    public static void main(String[] args)

generate 1000 profiles