- pimpl_ = simcall_comm_isend(sender_, mailbox_->get_impl(), remains_, rate_, src_buff_, src_buff_size_, match_fun_,
- clean_fun_, copy_data_function_, get_data<void>(), detached_);
+ kernel::actor::CommIsendSimcall observer{sender_,
+ mailbox_->get_impl(),
+ remains_,
+ rate_,
+ static_cast<unsigned char*>(src_buff_),
+ src_buff_size_,
+ match_fun_,
+ clean_fun_,
+ copy_data_function_,
+ get_data<void>(),
+ detached_};
+ pimpl_ = kernel::actor::simcall([&observer] { return kernel::activity::CommImpl::isend(&observer); }, &observer);