Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maven artifact

Examples

Client

data class State(
    val messageQueue: List<Message> = emptyList(), 
    val totalMessages: Int = 0
)

val client = startClient(socket, State())

suspend fun sendMessageToUser(id: UserId, text: String) {
    client.update { db ->
        db.copy(db.messageQueue + Message(id, text))
    }
}

Server

val server = startClient(socket, State())

suspend fun onUpdate() {
    val messages =
        server.read { db ->
            db.copy(messageQueue = emptyList()) to db.messageQueue
        }

    messages.forEach { doSendMessage(it) }

    server.update { db ->
        db.copy(totalMessages = db.totalMessages + messages.size)
    }
}

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages