我正在使用Netty作为客户端服务器应用程序。我想向每个频道添加数据,如:
channel.attr(AttributeKey.valueOf("deviceId")).set(deviceId);
我有一般性问题:
我可以将多少属性附加到频道
属性的最大尺寸是多少?
属性可以是哪些类型(对象,变量,数组......)?
答案 0 :(得分:3)
DefaultAttributeMap
存储AtomicReferenceArray
中的属性,因此我会说您可以存储Integer.MAX_VALUE
个属性的内容,实际上少一些。所以超过20亿。
我没有试过这个,但我会说你的JVM堆大小允许。
属性可以是任何类型:
<T> Attribute<T> attr(AttributeKey<T> key);
final static AttributeKey<Long> CHECKSUMKEY = AttributeKey.valueOf("calcchecksum");
final static AttributeKey<CustomClass> COMMANDKEY = AttributeKey.valueOf("command");
final static AttributeKey<Long> FILEHANDLEKEY = AttributeKey.valueOf("filehandle");
final static AttributeKey<File> PATHKEY = AttributeKey.valueOf("destpath");