diff options
Diffstat (limited to 'modules/remote-sycl/c++')
-rw-r--r-- | modules/remote-sycl/c++/remote.hpp | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/modules/remote-sycl/c++/remote.hpp b/modules/remote-sycl/c++/remote.hpp index 3be3c79..1df6249 100644 --- a/modules/remote-sycl/c++/remote.hpp +++ b/modules/remote-sycl/c++/remote.hpp @@ -2,24 +2,48 @@ #include <forstio/io_codec/rpc.hpp> +#include <CL/sycl.hpp> + namespace saw { namespace rmt { struct Sycl {}; } +template<typename Iface, typename Encode> +class rpc_server<Iface, Encode, rmt::Sycl> { +private: + cl::sycl::queue cmd_queue_; +public: + +}; + template<> class remote<rmt::Sycl> { private: SAW_FORBID_COPY(remote); SAW_FORBID_MOVE(remote); + public: + /** + * Default constructor + */ remote(){} - /* - error_or<void> create_remote(){ - return remote<rmt::Sycl>{*this}; + /** + * For now we don't need to specify the location since + * we just create a default. + */ + conveyor<remote_address<rmt::Sycl>> resolve_address(){ + return remote_address<rmt::Sycl>{*this}; + } + + /** + * Spin up a rpc server + */ + template<typename Iface, typename Encoding> + conveyor<rpc_server<Iface, Encoding, rmt::Sycl>> listen(const remote_address<rmt::Sycl>&){ + } - */ }; template<> @@ -38,5 +62,7 @@ public: template<typename Iface> error_or<void> foo(); */ + + }; } |