/*
- * Sone - MemoryDatabase.java - Copyright © 2013–2016 David Roden
+ * Sone - MemoryDatabase.java - Copyright © 2013–2019 David Roden
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
/**
* Memory-based [PostDatabase] implementation.
- *
- * @author [David ‘Bombe’ Roden](mailto:bombe@pterodactylus.net)
*/
@Singleton
class MemoryDatabase @Inject constructor(private val configuration: Configuration) : AbstractService(), Database {
knownPosts.add(post.id)
else
knownPosts.remove(post.id)
+ saveKnownPosts()
}
protected fun isPostReplyKnown(postReply: PostReply) = readLock.withLock { postReply.id in knownPostReplies }
knownPostReplies.add(postReply.id)
else
knownPostReplies.remove(postReply.id)
+ saveKnownPostReplies()
}
private fun loadKnownPosts() =
try {
readLock.withLock {
knownPosts.forEachIndexed { index, knownPostId ->
- configuration.getStringValue("KnowsPosts/$index/ID").value = knownPostId
+ configuration.getStringValue("KnownPosts/$index/ID").value = knownPostId
}
configuration.getStringValue("KnownPosts/${knownPosts.size}/ID").value = null
}