mirror of
				https://github.com/GayPizzaSpecifications/foundation.git
				synced 2025-11-04 03:39:37 +00:00 
			
		
		
		
	Heimdall: Fix bug where DB being disabled might cause errors.
This commit is contained in:
		@ -29,7 +29,7 @@ import kotlin.io.path.inputStream
 | 
			
		||||
class FoundationHeimdallPlugin : JavaPlugin(), Listener {
 | 
			
		||||
  private lateinit var config: HeimdallConfig
 | 
			
		||||
  private lateinit var pool: HikariDataSource
 | 
			
		||||
  internal lateinit var db: Database
 | 
			
		||||
  internal var db: Database? = null
 | 
			
		||||
 | 
			
		||||
  private val buffer = EventBuffer()
 | 
			
		||||
  private val bufferFlushThread = BufferFlushThread(this, buffer)
 | 
			
		||||
 | 
			
		||||
@ -31,6 +31,11 @@ class BufferFlushThread(val plugin: FoundationHeimdallPlugin, val buffer: EventB
 | 
			
		||||
 | 
			
		||||
  fun flush() {
 | 
			
		||||
    try {
 | 
			
		||||
      val db = plugin.db
 | 
			
		||||
      if (db == null) {
 | 
			
		||||
        buffer.clear()
 | 
			
		||||
        return
 | 
			
		||||
      }
 | 
			
		||||
      transaction(plugin.db) {
 | 
			
		||||
        val count = buffer.flush(this)
 | 
			
		||||
        if (count > 0) {
 | 
			
		||||
 | 
			
		||||
@ -21,4 +21,8 @@ class EventBuffer {
 | 
			
		||||
  fun push(event: HeimdallEvent) {
 | 
			
		||||
    events.add(event)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  fun clear() {
 | 
			
		||||
    events = mutableListOf()
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -2,8 +2,9 @@ package cloud.kubelet.foundation.gjallarhorn.export
 | 
			
		||||
 | 
			
		||||
import cloud.kubelet.foundation.gjallarhorn.state.BlockExpanse
 | 
			
		||||
import cloud.kubelet.foundation.gjallarhorn.state.SparseBlockStateMap
 | 
			
		||||
import kotlinx.serialization.Serializable
 | 
			
		||||
 | 
			
		||||
@kotlinx.serialization.Serializable
 | 
			
		||||
@Serializable
 | 
			
		||||
class CombinedChunkFormat(
 | 
			
		||||
  val expanse: BlockExpanse,
 | 
			
		||||
  val map: SparseBlockStateMap
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user