summaryrefslogtreecommitdiff
path: root/c++/codec/rpc.h
blob: b21ecf8098c45bd058c5dabe3ddeb5b1efba31c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once

namespace saw {
template<typename T>
class remote {
		static_assert(always_false<T>, "Type of remote not supported");
};

template<typename T>
class rpc_client {
		template<typename... T>
		struct request {
		private:
				std::tuple<id<T>> ids_;
		public:
				error_or<data<T>> wait();
		};
		
		template<typename... T>
		request<T...> request_data(id<T>... data);
};

template<typename T>
class rpc_server {
};
}