Message

A received message envelope containing sender identity, channel metadata, and payload.

Fields

fromPeerId

Sender peer identifier.

val fromPeerId: String

channel

Logical channel name for routing (e.g. chat, sync).

val channel: String

payload

Raw bytes payload.

val payload: ByteArray

timestamp

Best-effort sender timestamp (ms since epoch).

val timestamp: Long

Example

p2p.onMessage { msg ->
    when (msg.channel) {
        "chat" -> handleChat(msg.fromPeerId, msg.payload)
        "sync" -> handleSync(msg.payload)
    }
}