S - the type of the message being sentR - the type of the message being received.public interface MessageCodec<S,R>
Usually the event bus only allows a certain set of message types to be sent across the event bus, including primitive types,
boxed primitive types, byte[], JsonObject, JsonArray,
Buffer.
By specifying a message codec you can pass any other type across the event bus, e.g. POJOs.
With a message codec the type sent does not have to be the same as the type received, e.g. you could send
a Buffer and have it be received as a JsonObject.
Instances of this class must be thread-safe as they may be used concurrently by different threads.
| Modifier and Type | Method and Description |
|---|---|
R |
decodeFromWire(int pos,
Buffer buffer)
Called by Vert.x when a message is decoded from the wire.
|
void |
encodeToWire(Buffer buffer,
S s)
Called by Vert.x when marshalling a message to the wire.
|
String |
name()
The codec name.
|
byte |
systemCodecID()
Used to identify system codecs.
|
R |
transform(S s)
If a message is sent locally across the event bus, this method is called to transform the message from
the sent type S to the received type R
|
void encodeToWire(Buffer buffer, S s)
buffer - the message should be written into this buffers - the message that is being sentR decodeFromWire(int pos, Buffer buffer)
pos - the position in the buffer where the message should be read from.buffer - the buffer to read the message fromR transform(S s)
s - the sent messageString name()
byte systemCodecID()
Copyright © 2021 Eclipse. All rights reserved.