Crossfire JXClient, Trunk
|
Public Member Functions | |
void | expire (final long timestamp) |
Map< String, MetaserverEntry > | getAll () |
void | put (@NotNull final MetaserverEntry metaserverEntry) |
void | save () |
ServerCache (@Nullable final Path file) | |
Static Public Attributes | |
static final CharSequence | DEFAULT_ENTRY_LOCALHOST = "0|localhost|0|--|Local server. Start server before you try to connect.|0|0|0|||" |
Private Member Functions | |
boolean | addEntry (@NotNull final CharSequence metaserverEntryLine, final long timestamp) |
void | load () |
void | saveInternal (@NotNull final Path file) throws IOException |
Private Attributes | |
final Map< String, Info > | entries = new HashMap<>() |
final Path | file |
Maintains a set of known servers backed up in a file.
Definition at line 43 of file ServerCache.java.
com.realtime.crossfire.jxclient.metaserver.ServerCache.ServerCache | ( | @Nullable final Path | file | ) |
Creates a new instance.
file | the backing file or null
|
Definition at line 68 of file ServerCache.java.
References com.realtime.crossfire.jxclient.metaserver.ServerCache.file, and com.realtime.crossfire.jxclient.metaserver.ServerCache.load().
|
private |
Parses a metaserver entry line and adds the result to entries.
metaserverEntryLine | the metaserver entry line to parse |
timestamp | the query timestamp |
Definition at line 161 of file ServerCache.java.
References com.realtime.crossfire.jxclient.metaserver.ServerCache.entries, com.realtime.crossfire.jxclient.metaserver.MetaserverEntry.getKey(), and com.realtime.crossfire.jxclient.metaserver.MetaserverEntryParser.parseEntry().
Referenced by com.realtime.crossfire.jxclient.metaserver.ServerCache.load().
void com.realtime.crossfire.jxclient.metaserver.ServerCache.expire | ( | final long | timestamp | ) |
Expires entries older than a given timestamp from the cache.
timestamp | the timestamp |
Definition at line 87 of file ServerCache.java.
References com.realtime.crossfire.jxclient.metaserver.ServerCache.entries.
Referenced by com.realtime.crossfire.jxclient.metaserver.MetaserverProcessor.updateMetaList().
Map<String, MetaserverEntry> com.realtime.crossfire.jxclient.metaserver.ServerCache.getAll | ( | ) |
Returns all cached entries. The returned set may be modified by the caller.
Definition at line 98 of file ServerCache.java.
References com.realtime.crossfire.jxclient.metaserver.ServerCache.entries.
Referenced by com.realtime.crossfire.jxclient.metaserver.MetaserverProcessor.MetaserverProcessor(), and com.realtime.crossfire.jxclient.metaserver.MetaserverProcessor.updateMetaList().
|
private |
Loads the entries from the backing file.
Definition at line 109 of file ServerCache.java.
References com.realtime.crossfire.jxclient.metaserver.ServerCache.addEntry(), com.realtime.crossfire.jxclient.metaserver.ServerCache.DEFAULT_ENTRY_LOCALHOST, and com.realtime.crossfire.jxclient.metaserver.ServerCache.file.
Referenced by com.realtime.crossfire.jxclient.metaserver.ServerCache.ServerCache().
void com.realtime.crossfire.jxclient.metaserver.ServerCache.put | ( | @NotNull final MetaserverEntry | metaserverEntry | ) |
Adds an entry to the cache. Overwrites old entries for the same hostname.
metaserverEntry | the entry to add |
Definition at line 79 of file ServerCache.java.
References com.realtime.crossfire.jxclient.metaserver.ServerCache.entries.
Referenced by com.realtime.crossfire.jxclient.metaserver.MetaserverProcessor.updateMetaList().
void com.realtime.crossfire.jxclient.metaserver.ServerCache.save | ( | ) |
Saves all entries to the backing file.
Definition at line 174 of file ServerCache.java.
References com.realtime.crossfire.jxclient.metaserver.ServerCache.file, and com.realtime.crossfire.jxclient.metaserver.ServerCache.saveInternal().
Referenced by com.realtime.crossfire.jxclient.metaserver.MetaserverProcessor.updateMetaList().
|
private |
Saves all entries to the backing file.
file | the file to write |
IOException | if an I/O error occurs |
Definition at line 191 of file ServerCache.java.
References com.realtime.crossfire.jxclient.metaserver.ServerCache.entries, com.realtime.crossfire.jxclient.metaserver.ServerCache.file, and com.realtime.crossfire.jxclient.metaserver.MetaserverEntryParser.format().
Referenced by com.realtime.crossfire.jxclient.metaserver.ServerCache.save().
|
static |
The default entry for the "localhost" server.
Definition at line 49 of file ServerCache.java.
Referenced by com.realtime.crossfire.jxclient.metaserver.ServerCache.load(), and com.realtime.crossfire.jxclient.metaserver.DefaultMetaserver.queryMetaserver().
|
private |
The cached entries. Maps key (see MetaserverEntry#getKey()) to Info instance for the metaserver entry.
Definition at line 56 of file ServerCache.java.
Referenced by com.realtime.crossfire.jxclient.metaserver.ServerCache.addEntry(), com.realtime.crossfire.jxclient.metaserver.ServerCache.expire(), com.realtime.crossfire.jxclient.metaserver.ServerCache.getAll(), com.realtime.crossfire.jxclient.metaserver.ServerCache.put(), and com.realtime.crossfire.jxclient.metaserver.ServerCache.saveInternal().
|
private |
The backing file.
Definition at line 62 of file ServerCache.java.
Referenced by com.realtime.crossfire.jxclient.metaserver.ServerCache.load(), com.realtime.crossfire.jxclient.metaserver.ServerCache.save(), com.realtime.crossfire.jxclient.metaserver.ServerCache.saveInternal(), and com.realtime.crossfire.jxclient.metaserver.ServerCache.ServerCache().