public interface Message extends Jsonable, Serializable
default MessageType getMessageType()
String getMessageId()
注意: 此消息ID为全系统唯一. 但是在很多情况下,设备可能不支持此类型的消息ID,
此时需要在协议包中做好映射关系,比如使用:ConcurrentHashMap进行消息绑定.
还可以使用工具类:CodecContext来进行此操作.
long getTimestamp()
System.currentTimeMillis()@Nullable Map<String,Object> getHeaders()
HeadersHeadersMessage addHeader(String header, Object value)
header - headervalue - valueHeadersMessage addHeaderIfAbsent(String header, Object value)
header - header keyvalue - header 值Message removeHeader(String header)
header - headerHeadersdefault <T> Message addHeader(HeaderKey<T> header, T value)
Headers,
addHeader(String, Object)default <T> T getOrAddHeader(HeaderKey<T> header, java.util.function.Supplier<T> value)
default <T> T getOrAddHeaderDefault(HeaderKey<T> header)
default <T> T getHeaderOrDefault(HeaderKey<T> key)
default <T> T getHeaderOrElse(HeaderKey<T> header, @Nullable java.util.function.Supplier<T> orElse)
default Object getHeaderOrElse(String header, @Nullable java.util.function.Supplier<Object> orElse)
Object computeHeader(String key, java.util.function.BiFunction<String,Object,Object> computer)
default <T> T computeHeader(HeaderKey<T> key, java.util.function.BiFunction<String,T,T> computer)
default void validate()
default Message copy()
Copyright © 2019–2022. All rights reserved.