首页 理论教育 删除Handle值-DOA/Handle技术与应用

删除Handle值-DOA/Handle技术与应用

时间:2023-11-23 理论教育 版权反馈
【摘要】:客户端通过发送REMOVE_VALUE 请求到负责处理请求的Handle 服务器删除已存在的Handle 值。客户端发送REMOVE_VALUE 请求的消息头必须将<OpCode>设置为OC_REMOVE_VALUE。<IndexList>:一个4 字节的无符号整数后跟一组Handle 值的索引。一旦认证成功,服务器将继续从<Handle>的<IndexList>里移除指定的Handle 值。例如,尝试移除任何既没有PUB_WRITE 许可也没有ADMIN_WRITE 许可的Handle 值将导致RC_ACCESS_DENIED 错误。移除不存在的Handle 值的REMOVE_VALUE 请求不会被作为错误来处理。如果在<IndexList>中的任何一个索引是指HS_ADMIN 值,这种情况就会发生。

删除Handle值-DOA/Handle技术与应用

客户端通过发送REMOVE_VALUE 请求到负责处理请求的Handle 服务器删除已存在的Handle 值。客户端发送REMOVE_VALUE 请求的消息头必须将<OpCode>设置为OC_REMOVE_VALUE。

REMOVE_VALUE 请求的消息体编码如下:

<Handle>:一个UTF-8 编码的字符串,REMOVE_VALUE 请求要删除Handle 值的Handle 码。<IndexList>:一个4 字节的无符号整数后跟一组Handle 值的索引。每一个索引都对应<Handle>下的一个要删除的Handle值。无符号整数用来代表<IndexList>的个数,每个索引也都被编码为4 字节的无符号整数。

接收REMOVE_VALUE 请求的服务器须首先将客户端认证为具有移除Handle 值权限的管理员。一旦认证成功,服务器将继续从<Handle>的<IndexList>里移除指定的Handle 值。如果成功,那么服务器将把一个RC_SUCCESS 的消息反馈给客户端。(www.xing528.com)

每个REMOVE_VALUE 请求必须作为一个事务处理来执行。如果移除任何在<IndexList>里的值引发了错误,整个操作必须回滚。对于任何未能实现的REMOVE_VALUE 请求,<IndexList>中涉及的任何值都不能从<Handle>中移除。该服务器还须对客户端做出响应,返回错误。例如,尝试移除任何既没有PUB_WRITE 许可也没有ADMIN_WRITE 许可的Handle 值将导致RC_ACCESS_DENIED 错误。移除不存在的Handle 值的REMOVE_VALUE 请求不会被作为错误来处理。

REMOVE_VALUE 请求也可以被用来移除Handle 管理员。如果在<IndexList>中的任何一个索引是指HS_ADMIN 值,这种情况就会发生。在完成该请求前,服务器须将客户端认证为具有REMOVE_ADMIN 权限的管理员。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈