新闻中心

EEPW首页>手机与无线通信>设计应用> 基于RapidIO的实时CORBA中间件实现

基于RapidIO的实时CORBA中间件实现

作者: 时间:2012-05-21 来源:网络 收藏

RIOP传输协议类之间的关系如图3所示,图中的Endpoint、NetCircuit、NetCircuit Factory、NetCollector、NetCollectorFactory、NetFlow、NetFlowFactory、NetAcceptor、NetAcceptorFactory都是ORB用于传输的基类,RIOP需要从这些类派生出新类,如RIOEndpo int、RIONetCircuit、RIONetCircuitFactory、RIONetAcceptor、RIONetAcceptorFactory,并且可以RIOPortRegistry、PortTransport类。

c.JPG

端点(Endpoint)类负责管理网络连接需要的地址信息:网络电路(NetCircuit)类用于管理连接,负责建立连接(客户端)及数据收发,网络连接一旦建立,就可以从NetCircuit读取或写入数据;网络收集器(NetCollector)类用于在连接的服务器端接收请求,网络收集器负责在NetCircuit的服务器端接收数据的激活对象,通过NetCollectorFactory可创建收集器的实例;网络收集器(Collector)和收集器工厂(NetCo llectorFactory)类能GIOP的语法要求,因此,传输协议开发者不需要开发收集器类;网络流控(NetFlow)类是为未来功能扩展的保留类,对应的NetFlowFactory也会被定义,因此,传输协议开发者不需要重写该类;网络接收器(NetAcceptor)类负责服务端监听网络连接请求,如检测到网络请求,NetCollectorFactory实例即被创建,此后,NetCollectorFactory会再创建一个收集器(Collector)和网络电路(NetCircuit),当Server开始在一个Endpoint监听时,ORB就会使用NetAcceptorFactory实例;RIOPortRegistry类负责将RIOP注册到ORB的传输协议列表;RIOTransport类则负责初始化RIOP传输协议。

2.3 验证测试

Rapid IO总线的验证环境如图图4所示。图中的两块板卡之间通过1x模式1.25Gbps交换网络互联,板卡由1片PPC处理器(MPC8548)和1片RIO交换芯片(TSI578)构成,板卡处理器上运行的是VxWorks5.5.1操作系统。

d.JPG

测试使用客户端调用服务端echoPacket方法,输入不同长度字节序列的数据,眼务端即可将数据原样返回客户端。IDL接口的定义如下:

typedefsequenceoctet>OctetSequence;

interface Echo{

oneway OctetSequence echoPacket(in OctetSequencepayload);

};

OctetSequence echoPacket(OctetSequence pavload);

服务器端可创建R10协议的对象引用,IOR里面包含有客户端访问服务器的RIO寻址信息,客户通过字符串或命名服务的方式获得对象引用,再利用该对象引用向服务器发送请求,并接收应答。IOR是一个数据结构,它提供了关于类型、协议支持和可用ORB服务的信息。ORB可创建、使用并维护该IOR。许多ORB供应商提供有一个实用程序,可窥视IOR的内部,如orbix的iordump.exe。使用iordump.exe能解析、使用RIOP服务端生成的字符串化的IOR。

波段开关相关文章:波段开关原理




评论


相关推荐

技术专区

关闭