基于Ada语言的可靠持久流处理方案
1. 存储类型基础
1.1 存储类型定义
存储类型 Storage_Type 是从 Limited_Controlled 私有派生而来的,其定义如下:
function Get_Current_Size (Storage : in Storage_Type)
return Stream_Element_Count is abstract;
private
type Storage_Type is new Limited_Controlled with null record;
end Storage_Types;
这样设计的目的是允许具体的存储实现进行自动初始化和终结操作。例如,磁盘文件在使用后需要关闭,网络端口需要释放。 Storage_Type 是受限的,因此它可以存储其他受限数据,如文件描述符。并且, Storage_Type 的公共视图具有未知判别式,这就要求用户必须调用具体存储类型的构造函数来创建实例,避免绕过正确的初始化过程。
1.2 存储类型操作
Storage_Type 提供了三个操作: Read 、 Write 和 Get_Current_Size 。其中, Read 和 Write 过程与流
超级会员免费看
订阅专栏 解锁全文
71

被折叠的 条评论
为什么被折叠?



