| 569 | } |
| 570 | |
| 571 | void AFCKernelModule::AddSyncCallBack() |
| 572 | { |
| 573 | // node sync call back |
| 574 | auto node_func = std::bind(&AFCKernelModule::OnSyncNode, this, std::placeholders::_1, std::placeholders::_2, |
| 575 | std::placeholders::_3, std::placeholders::_4); |
| 576 | |
| 577 | AFClassCallBackManager::AddNodeSyncCallBack(ArkDataMask::PF_SYNC_VIEW, std::move(node_func)); |
| 578 | AFClassCallBackManager::AddNodeSyncCallBack(ArkDataMask::PF_SYNC_SELF, std::move(node_func)); |
| 579 | |
| 580 | // table sync call back |
| 581 | auto table_func = std::bind(&AFCKernelModule::OnSyncTable, this, std::placeholders::_1, std::placeholders::_2, |
| 582 | std::placeholders::_3, std::placeholders::_4); |
| 583 | |
| 584 | AFClassCallBackManager::AddTableSyncCallBack(ArkDataMask::PF_SYNC_VIEW, std::move(table_func)); |
| 585 | AFClassCallBackManager::AddTableSyncCallBack(ArkDataMask::PF_SYNC_SELF, std::move(table_func)); |
| 586 | |
| 587 | // container sync call back |
| 588 | auto container_func = |
| 589 | std::bind(&AFCKernelModule::OnSyncContainer, this, std::placeholders::_1, std::placeholders::_2, |
| 590 | std::placeholders::_3, std::placeholders::_4, std::placeholders::_5, std::placeholders::_6); |
| 591 | |
| 592 | AFClassCallBackManager::AddContainerSyncCallBack(ArkDataMask::PF_SYNC_VIEW, std::move(container_func)); |
| 593 | AFClassCallBackManager::AddContainerSyncCallBack(ArkDataMask::PF_SYNC_SELF, std::move(container_func)); |
| 594 | |
| 595 | // data delay call back |
| 596 | auto delay_func = std::bind( |
| 597 | &AFCKernelModule::OnDelaySyncData, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3); |
| 598 | |
| 599 | AFClassCallBackManager::AddDelaySyncCallBack(ArkDataMask::PF_SYNC_VIEW, std::move(delay_func)); |
| 600 | AFClassCallBackManager::AddDelaySyncCallBack(ArkDataMask::PF_SYNC_SELF, std::move(delay_func)); |
| 601 | |
| 602 | // send msg functor |
| 603 | auto view_func = std::bind(&AFCKernelModule::SendToView, this, std::placeholders::_1, std::placeholders::_2); |
| 604 | sync_functors.insert(std::make_pair(ArkDataMask::PF_SYNC_VIEW, std::forward<SYNC_FUNCTOR>(view_func))); |
| 605 | |
| 606 | auto self_func = std::bind(&AFCKernelModule::SendToSelf, this, std::placeholders::_1, std::placeholders::_2); |
| 607 | sync_functors.insert(std::make_pair(ArkDataMask::PF_SYNC_SELF, std::forward<SYNC_FUNCTOR>(self_func))); |
| 608 | } |
| 609 | |
| 610 | int AFCKernelModule::OnSyncNode( |
| 611 | const AFGUID& self, const uint32_t index, const ArkDataMask mask_value, const AFIData& data) |