对象 Message
基础消息对象
Message 对象兼容于 mq 各个模块,可用于构建自定义消息处理系统,创建方法:
1
2var mq = require("mq");
var m = new mq.Message();
继承关系
构造函数
Message
消息对象构造函数
1new Message();
常量
TEXT
指定消息类型 1,代表一个文本类型
1const Message.TEXT = 1;
BINARY
指定消息类型 2,代表一个二进制类型
1const Message.BINARY = 2;
成员属性
value
String, 消息的基本内容
1String Message.value;
params
NArray, 消息的基本参数
1readonly NArray Message.params;
type
Integer, 消息类型
1Integer Message.type;
data
Value, 查询消息的数据,此属性会根据 content-type 返回不同数据,为 text 时,返回文本,为 json 时返回 json,其它时候返回二进制
1readonly Value Message.data;
body
SeekableStream, 包含消息数据部分的流对象
1SeekableStream Message.body;
length
Long, 消息数据部分的长度
1readonly Long Message.length;
stream
Stream, 查询消息 readFrom 时的流对象
1readonly Stream Message.stream;
lastError
String, 查询和设置消息处理的最后错误
1String Message.lastError;
成员函数
read
从流内读取指定大小的数据,此方法为 body 相应方法的别名
1Buffer Message.read(Integer bytes = -1) async;
调用参数:
- bytes: Integer, 指定要读取的数据量,缺省为读取随机大小的数据块,读出的数据尺寸取决于设备
返回结果:
- Buffer, 返回从流内读取的数据,若无数据可读,或者连接中断,则返回 null
readAll
从流内读取剩余的全部数据,此方法为 body 相应方法的别名
1Buffer Message.readAll() async;
返回结果:
- Buffer, 返回从流内读取的数据,若无数据可读,或者连接中断,则返回 null
write
写入给定的数据,此方法为 body 相应方法的别名
1Message.write(Buffer data) async;
调用参数:
- data: Buffer, 给定要写入的数据
json
以 JSON 编码写入给定的数据
1Value Message.json(Value data);
调用参数:
- data: Value, 给定要写入的数据
返回结果:
- Value, 此方法不会返回数据
以 JSON 编码解析消息中的数据
1Value Message.json();
返回结果:
- Value, 返回解析的结果
pack
以 msgpack 编码写入给定的数据
1Value Message.pack(Value data);
调用参数:
- data: Value, 给定要写入的数据
返回结果:
- Value, 此方法不会返回数据
以 msgpack 编码解析消息中的数据
1Value Message.pack();
返回结果:
- Value, 返回解析的结果
end
设置当前消息处理结束,Chain 处理器不再继续后面的事务
1Message.end();
isEnded
查询当前消息是否结束
1Boolean Message.isEnded();
返回结果:
- Boolean, 结束则返回 true
clear
清除消息的内容
1Message.clear();
sendTo
发送格式化消息到给定的流对象
1Message.sendTo(Stream stm) async;
调用参数:
- stm: Stream, 指定接收格式化消息的流对象
readFrom
从给定的缓存流对象中读取格式化消息,并解析填充对象
1Message.readFrom(Stream stm) async;
调用参数:
- stm: Stream, 指定读取格式化消息的流对象
toString
返回对象的字符串表示,一般返回 "[Native Object]",对象可以根据自己的特性重新实现
1String Message.toString();
返回结果:
- String, 返回对象的字符串表示
toJSON
返回对象的 JSON 格式表示,一般返回对象定义的可读属性集合
1Value Message.toJSON(String key = "");
调用参数:
- key: String, 未使用
返回结果:
- Value, 返回包含可 JSON 序列化的值