poll_0

节点模型 aaa_polling_node

这里写图片描述

进程模型 aaa_polling_node_process

这里写图片描述

SV

这里写图片描述

TV

char  node_name [128]; 
char  module_name [128]; 
int namelength;

int i;
int i_temp;

HB

#define IN_STRM     0
#define ACK_STRM 1
#define OUT_STRM 0




#define INTRPT_ACK ((op_intrpt_type() == OPC_INTRPT_STRM) && (op_intrpt_strm() == ACK_STRM) )
#define INTRPT_SRC ((op_intrpt_type() == OPC_INTRPT_STRM) && (op_intrpt_strm() == IN_STRM) )

//extern int beacon;

Init

my_id = op_id_self ();
p_id = op_topo_parent(my_id);
op_ima_obj_attr_get (p_id, "name", node_name); 
op_ima_obj_attr_get (my_id, "name", module_name); 
printf("%s ",node_name);
printf("%s ",module_name);
printf("initing...\n");




namelength = strlen(node_name);
nodenum = 0;
i_temp = 0;
for(i=5;i<=namelength - 1;i++)
{

i_temp = node_name[i] - '0';
nodenum = 10*nodenum + i_temp;

}

Strm

Packet* pkptr;
int node_flag;
int node_src;

pkptr = op_pk_get(ACK_STRM);
op_pk_nfd_get_int32 (pkptr, "flag", &node_flag);


if(node_flag == 4)
    {
    op_pk_nfd_get_int32 (pkptr, "dest", &node_src);
    if(node_src == nodenum)
        {
        printf("polling packet have been received!\n");
        op_pk_send(op_pk_get(IN_STRM),OUT_STRM);

        }


    }



op_pk_destroy(pkptr);

st_3

//op_pk_print(op_pk_get(IN_STRM));
//printf("ack packet arrived!");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值