diff --git a/modules/events-mod/src/main/typescript/main/cache/cacheChecker.ts b/modules/events-mod/src/main/typescript/main/cache/cacheChecker.ts index 4404725..e0d918c 100644 --- a/modules/events-mod/src/main/typescript/main/cache/cacheChecker.ts +++ b/modules/events-mod/src/main/typescript/main/cache/cacheChecker.ts @@ -1,6 +1,5 @@ import {EventDataCache} from "./EventDataCache"; import {emitPacket} from "../emitKafkatorioPacket"; -// import { global } from "../global"; /** Every 0.1 seconds */ script.on_nth_tick(6, (nthTick: NthTickEventData) => { diff --git a/modules/events-schema/src/commonMain/kotlin/dev/adamko/kafkatorio/events/schema/kafkatorioPacket.kt b/modules/events-schema/src/commonMain/kotlin/dev/adamko/kafkatorio/events/schema/kafkatorioPacket.kt index 7d852f1..be9bfef 100644 --- a/modules/events-schema/src/commonMain/kotlin/dev/adamko/kafkatorio/events/schema/kafkatorioPacket.kt +++ b/modules/events-schema/src/commonMain/kotlin/dev/adamko/kafkatorio/events/schema/kafkatorioPacket.kt @@ -52,7 +52,7 @@ object KafkatorioPacketJsonSerializer : JsonContentPolymorphicSerializer FactorioEvent.serializer() KafkatorioPacket.PacketType.CONFIG -> FactorioConfigurationUpdate.serializer() KafkatorioPacket.PacketType.PROTOTYPES -> FactorioPrototypes.serializer() - KafkatorioPacket.PacketType.UPDATE -> FactorioEventUpdatePacket.serializer() + KafkatorioPacket.PacketType.UPDATE -> FactorioEventUpdatePacket.serializer() } } } diff --git a/modules/events-schema/src/jvmMain/kotlin/dev/adamko/kafkatorio/events/schema/kt2ts.kt b/modules/events-schema/src/jvmMain/kotlin/dev/adamko/kafkatorio/events/schema/kt2ts.kt index 6d6e492..a19221f 100644 --- a/modules/events-schema/src/jvmMain/kotlin/dev/adamko/kafkatorio/events/schema/kt2ts.kt +++ b/modules/events-schema/src/jvmMain/kotlin/dev/adamko/kafkatorio/events/schema/kt2ts.kt @@ -18,6 +18,7 @@ fun main(args: Array) { addAll(FactorioPrototype::class.sealedSubclasses) add(FactorioPrototypes::class) add(FactorioConfigurationUpdate::class) + add(FactorioEventUpdatePacket::class) addAll(FactorioEventUpdate::class.sealedSubclasses) }, mappings = mapOf( diff --git a/modules/events-server/src/main/kotlin/dev/adamko/kafkatorio/processor/admin/KafkatorioKafkaAdmin.kt b/modules/events-server/src/main/kotlin/dev/adamko/kafkatorio/processor/admin/KafkatorioKafkaAdmin.kt index 2fdc3d4..a51916f 100644 --- a/modules/events-server/src/main/kotlin/dev/adamko/kafkatorio/processor/admin/KafkatorioKafkaAdmin.kt +++ b/modules/events-server/src/main/kotlin/dev/adamko/kafkatorio/processor/admin/KafkatorioKafkaAdmin.kt @@ -33,17 +33,19 @@ object KafkatorioKafkaAdmin { add(KafkatorioTopology.TOPIC_GROUPED_MAP_CHUNKS) add(KafkatorioTopology.TOPIC_SRC_SERVER_LOG) + val base = topicNameBase(packetType) + when (packetType) { KafkatorioPacket.PacketType.EVENT -> FactorioObjectData.ObjectName.values.forEach { objectName -> - add("kafkatorio.${packetType.name}.${objectName.name}") + add("$base.${objectName.name}") } - KafkatorioPacket.PacketType.CONFIG -> - add("kafkatorio.${packetType.name}.FactorioConfigurationUpdate") - KafkatorioPacket.PacketType.PROTOTYPES -> - add("kafkatorio.${packetType.name}.all") + KafkatorioPacket.PacketType.CONFIG -> add("$base.FactorioConfigurationUpdate") + KafkatorioPacket.PacketType.PROTOTYPES -> add("$base.all") + KafkatorioPacket.PacketType.UPDATE -> add("$base.all") } + } }.minus(currentTopics.toSet()) @@ -87,4 +89,7 @@ object KafkatorioKafkaAdmin { .listings() .get() } + + fun topicNameBase(packetType: KafkatorioPacket.PacketType): String = + "kafkatorio.${packetType.name}" } diff --git a/modules/events-server/src/main/kotlin/dev/adamko/kafkatorio/processor/topology/factorioServerPackets.kt b/modules/events-server/src/main/kotlin/dev/adamko/kafkatorio/processor/topology/factorioServerPackets.kt index 9371f9f..7c1d8ef 100644 --- a/modules/events-server/src/main/kotlin/dev/adamko/kafkatorio/processor/topology/factorioServerPackets.kt +++ b/modules/events-server/src/main/kotlin/dev/adamko/kafkatorio/processor/topology/factorioServerPackets.kt @@ -6,6 +6,7 @@ import dev.adamko.kafkatorio.events.schema.FactorioEventUpdatePacket import dev.adamko.kafkatorio.events.schema.FactorioPrototypes import dev.adamko.kafkatorio.events.schema.KafkatorioPacket import dev.adamko.kafkatorio.processor.KafkatorioTopology +import dev.adamko.kafkatorio.processor.admin.KafkatorioKafkaAdmin import dev.adamko.kafkatorio.processor.serdes.jsonMapper import dev.adamko.kotka.extensions.consumedAs import dev.adamko.kotka.extensions.producedAs @@ -51,7 +52,7 @@ fun splitFactorioServerPacketStream( ) { _: FactorioServerId, value: KafkatorioPacket, _: RecordContext -> // println("[$key] sending event:${value.eventType} to topic:${value.data.objectName()}") - val base = "kafkatorio.${value.packetType.name}" + val base = KafkatorioKafkaAdmin.topicNameBase(value.packetType) val type: String = when (value) { is FactorioEvent -> value.data.objectName.name diff --git a/modules/web-map/src/main/kotlin/dev/adamko/kafkatorio/webmap/websockets.kt b/modules/web-map/src/main/kotlin/dev/adamko/kafkatorio/webmap/websockets.kt index ff1d9f1..9023676 100644 --- a/modules/web-map/src/main/kotlin/dev/adamko/kafkatorio/webmap/websockets.kt +++ b/modules/web-map/src/main/kotlin/dev/adamko/kafkatorio/webmap/websockets.kt @@ -4,10 +4,10 @@ import dev.adamko.kafkatorio.events.schema.ConsoleChatMessage import dev.adamko.kafkatorio.events.schema.EntityData import dev.adamko.kafkatorio.events.schema.FactorioConfigurationUpdate import dev.adamko.kafkatorio.events.schema.FactorioEvent +import dev.adamko.kafkatorio.events.schema.FactorioEventUpdatePacket import dev.adamko.kafkatorio.events.schema.FactorioPrototypes import dev.adamko.kafkatorio.events.schema.KafkatorioPacket import dev.adamko.kafkatorio.events.schema.MapChunk -import dev.adamko.kafkatorio.events.schema.MapTile import dev.adamko.kafkatorio.events.schema.MapTiles import dev.adamko.kafkatorio.events.schema.PlayerData import dev.adamko.kafkatorio.events.schema.SurfaceData @@ -52,8 +52,10 @@ class WebsocketService( } } } + is FactorioEventUpdatePacket, is FactorioConfigurationUpdate, is FactorioPrototypes -> { + // to be continued... } }