状态转移
2020-11-10 10:26:14 0 举报
c-api串讲
作者其他创作
大纲/内容
连接失败
返回BIGPIPE_STOMP_WAIT_CONN
_wait_for_failover(ret); _change_state(BIGPIPE_PRODUCER_STATE_WAIT_FAILOVER);
tcp连接是否成功
_change_state(BIGPIPE_PRODUCER_STATE_WAIT_CONN);
init_producer();初始化bigpipe_producer_management
failover类型
BIGPIPE_FAILOVER_STOP
BIGPIPE_FAILOVER_DEFAULT
触发BIGPIPE_HAS_EVENT_JUDGE事件,并等待check_run线程处理
直接失败_change_state(BIGPIPE_PRODUCER_STATE_ERR);
返回0
_build_stomp_connect();_change_state(BIGPIPE_PRODUCER_STATE_WAIT_STOMP_CONN);
_change_state(BIGPIPE_CONSUMER_STATE_WAIT_STOMP_CONN);
检查用户是否对给pipe有发布权限,若有重试,若没有直接失败
send函数
deal_run线程中处理,_confirm_stomp_connect();_change_state(BIGPIPE_PRODUCER_STATE_PAUSE_RUN);
失败
连接成功
_change_state(BIGPIPE_PRODUCER_STATE_HAS_INIT);
返回值
_producer.try_connect(_sock)
_producer_queue为null,未初始化
成功?
0 条评论
下一页