Skip to content

Transmission

🚀 Experimental asynchronous communication for Business Logic

Kotlin Build Status License

Transmission is an experimental asynchronous communication library for Kotlin Multiplatform projects, designed to create a structured communication network between different business logic components. It provides a clean, testable architecture that enables different parts of your application to communicate without direct references.

Quick Start

// Define your data transformation
class UserTransformer : Transformer<UserData, UserResult> {
    override suspend fun transform(data: UserData): UserResult {
        return UserResult(processedData = data.process())
    }
}

// Set up the transmission router
val router = TransmissionRouter.builder()
    .add<UserTransformer>()
    .build()

// Use it in your application
val result = router.transform<UserData, UserResult>(userData)

Documentation

API Reference

📚 API Documentation - Complete API reference with detailed documentation for all classes and methods.

Core Concepts

  • Transmissions: Data flow objects that carry information through your application
  • Transformer: Components that process transmissions and handle business logic
  • TransmissionRouter: Manages the flow of transmissions between transformers

Architecture Overview

Transmission follows a structured communication pattern where components communicate through well-defined channels without direct dependencies, making your code more testable and maintainable.

Key Features

  • Decoupled Communication: Components communicate without direct references
  • Structured Flow: Clear information flow through Signal → Effect → Data channels
  • Testable Architecture: Built with testing in mind for better business logic testing
  • Asynchronous By Design: Built for asynchronous operations from the ground up
  • Kotlin Multiplatform: Works across all Kotlin targets

Community & Support


Made with ❤️ by the Trendyol team