编程接口指南

群集拓扑操作

导出操作和导入操作所需的关键互连数据包括:

作为基本约束,为段导入指定的控制器必须与用于对应的段导出的控制器具有物理连接。此接口定义互连拓扑有助于应用程序建立有效的导出和导入策略。所提供的数据包括本地节点 ID、本地控制器实例名称以及每个本地控制器的远程连接规范。

导出内存的应用程序组件可以使用此接口提供的数据来查找现有本地控制器集。此接口提供的数据还可用于正确分配控制器,以便创建和发布段。应用程序组件可以通过与硬件互连和应用程序软件分发一致的控制器集来有效分发导出的段。

必须向要导入内存的应用程序组件通知内存导出中所用的段 ID 和控制器。通常,此信息通过预定义的段和控制器对进行传送。导入组件可以使用拓扑数据来确定适用于段导入操作的控制器。

rsm_get_interconnect_topology

int rsm_get_interconnect_topology(rsm_topology_t **topology_data);

此函数返回一个指针,该指针指向应用程序指针所指定位置的拓扑数据。下面定义了拓扑数据结构。

返回值:如果成功,则返回 0。否则返回错误值。

RSMERR_BAD_TOPOLOGY_PTR

拓扑指针无效

RSMERR_INSUFFICIENT_MEM

内存不足

RSMERR_BAD_ADDR

地址错误

rsm_free_interconnect_topology

void rsm_free_interconnect_topology(rsm_topology_t *topology_data);

rsm_free_interconnect_topology 操作可释放通过 rsm_get_interconnect_topology 分配的内存。

返回值:无。

数据结构

rsm_get_topology_data 返回的指针会引用 rsm_topology_t structure。此结构为每个本地控制器提供本地节点 ID 以及指向 connections_t 结构的指针数组。

typedef struct rsm_topology {

   rsm_nodeid_t    local_nodeid;

   uint_t          local_cntrl_count;

   connections_t   *connections[1];

} rsm_topology_t;