客户端通过将ADD_VALUE 的请求发送到负责处理请求的Handle 服务器来为已有的Handle 添加值。ADD_VALUE 请求的消息头须将其<OpCode>(操作码)设置为OC_ADD_VALUE。
ADD_VALUE 请求的消息体编码如下:
<Handle>一个UTF-8 编码的字符串,即Handle 码。<ValueList>:一个4 字节的无符号整数后跟一组Handle 值。这个无符号整数代表后面的Handle 值的个数。
当Handle 服务器接收到ADD_VALUE 请求时,要先验证客户端是否拥有ADD_VALUE 的权限。如果权限验证通过,Handle 服务器会将<ValueList>添加到<Handle>,添加成功的话服务器将返回RC_SUCCESS到客户端。(www.xing528.com)
每一个ADD_VALUE 请求必须被视作一个事务。如果任意一个Handle值添加失败,整个<ValueList>的添加必须要回滚到请求前的状态,也就是失败的ADD_VALUE 请求,不应该有<ValueList>中的任何一个Handle 值添加到<Handle>。Handle 服务器必须返回具体的错误信息到客户端。例如,如果<ValueList>中的一个Handle 值的索引和现有的Handle 值的索引相同,则服务器将会返回错误信息并将<ResponseCode>设置为 RC_VALUE_ALREADY_EXISTS。
ADD_VALUE 请求同样可以被用来添加 Handle 管理员。如果在ADD_VALUE 请求的<ValueList>中包含类型为HS_ADMIN 类型的Handle值,服务器要先验证客户端发出的 ADD_VALUE 请求是否具有ADD_ADMIN 的权限。
当ADD_VALUE 请求消息体中的<Handle>不存在时,服务器将会返回错误信息,并将<ResponseCode>设置为RC_Handle_NOT_EXIST。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。