From 973a6fa11bfa84031e1b158ade6da2c527f4f197 Mon Sep 17 00:00:00 2001 From: observer Date: Sat, 12 Sep 2026 20:30:29 +0100 Subject: [PATCH] Return Server instance from Connection.connect --- .../kotlin/com/shr4pnel/ferretirc/net/Connection.kt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/com/shr4pnel/ferretirc/net/Connection.kt b/src/main/kotlin/com/shr4pnel/ferretirc/net/Connection.kt index 7770c6d..e9d8de7 100644 --- a/src/main/kotlin/com/shr4pnel/ferretirc/net/Connection.kt +++ b/src/main/kotlin/com/shr4pnel/ferretirc/net/Connection.kt @@ -1,21 +1,25 @@ package com.shr4pnel.ferretirc.net -import com.shr4pnel.ferretirc.net.messages.ClientMessage +import com.shr4pnel.ferretirc.irc.Server +import io.ktor.network.selector.SelectorManager import io.ktor.network.sockets.Socket import io.ktor.network.sockets.aSocket import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers class Connection(val hostname: String, val port: Int, val scope: CoroutineScope) { - private val socketBuilder = aSocket(ClientMessage.selectorManager).tcp() + private val selectorManager = SelectorManager(Dispatchers.IO) + private val socketBuilder = aSocket(selectorManager).tcp() lateinit var socket: Socket lateinit var reader: MessageReader lateinit var writer: MessageWriter - suspend fun connect() { + suspend fun connect(): Server { socket = socketBuilder.connect(hostname, port) reader = MessageReader(socket, scope) writer = MessageWriter(socket, scope) reader.start() writer.start() + return Server(reader.sharedMessageBuffer, writer.outgoingMessages, scope) } } \ No newline at end of file