#ifndef RUST_PORT_H #define RUST_PORT_H class rust_port : public maybe_proxy, public task_owned { public: rust_task *task; size_t unit_sz; ptr_vec writers; ptr_vec chans; // Data sent to this port from remote tasks is buffered in this channel. rust_chan *remote_channel; rust_port(rust_task *task, size_t unit_sz); ~rust_port(); void log_state(); bool receive(void *dptr); }; // // Local Variables: // mode: C++ // fill-column: 78; // indent-tabs-mode: nil // c-basic-offset: 4 // buffer-file-coding-system: utf-8-unix // compile-command: "make -k -C .. 2>&1 | sed -e 's/\\/x\\//x:\\//g'"; // End: // #endif /* RUST_PORT_H */