+ py::class_<Comm, CommPtr>(m, "Comm", "Communication. See the C++ documentation for details.")
+ .def_property_readonly("dst_data_size", &Comm::get_dst_data_size, py::call_guard<py::gil_scoped_release>(),
+ "Retrieve the size of the received data.")
+ .def_property_readonly("mailbox", &Comm::get_mailbox, py::call_guard<py::gil_scoped_release>(),
+ "Retrieve the mailbox on which this comm acts.")
+ .def_property_readonly("sender", &Comm::get_sender, py::call_guard<py::gil_scoped_release>())
+ .def_property_readonly("state_str", &Comm::get_state_str, py::call_guard<py::gil_scoped_release>(),
+ "Retrieve the Comm state as string")
+ .def_property_readonly("remaining", &Comm::get_remaining, py::call_guard<py::gil_scoped_release>(),
+ "Remaining amount of work that this Comm entails")
+ .def_property_readonly("start_time", &Comm::get_start_time, py::call_guard<py::gil_scoped_release>(),
+ "Time at which this Comm started")
+ .def_property_readonly("finish_time", &Comm::get_finish_time, py::call_guard<py::gil_scoped_release>(),
+ "Time at which this Comm finished")
+ .def_property_readonly("is_suspended", &Comm::is_suspended, py::call_guard<py::gil_scoped_release>(),
+ "Whether this Comm is suspended")
+ .def("set_payload_size", &Comm::set_payload_size, py::call_guard<py::gil_scoped_release>(), py::arg("bytes"),
+ "Specify the amount of bytes which exchange should be simulated.")
+ .def("set_rate", &Comm::set_rate, py::call_guard<py::gil_scoped_release>(), py::arg("rate"),
+ "Sets the maximal communication rate (in byte/sec). Must be done before start")
+ .def("cancel", &Comm::cancel, py::call_guard<py::gil_scoped_release>(),
+ py::return_value_policy::reference_internal, "Cancel the activity.")
+ .def("start", &Comm::start, py::call_guard<py::gil_scoped_release>(), py::return_value_policy::reference_internal,
+ "Starts a previously created activity. This function is optional: you can call wait() even if you didn't "
+ "call start()")
+ .def("suspend", &Comm::suspend, py::call_guard<py::gil_scoped_release>(),
+ py::return_value_policy::reference_internal, "Suspend the activity.")
+ .def("resume", &Comm::resume, py::call_guard<py::gil_scoped_release>(),
+ py::return_value_policy::reference_internal, "Resume the activity.")
+ .def("test", &Comm::test, py::call_guard<py::gil_scoped_release>(),