summaryrefslogtreecommitdiff
path: root/modules/codec/c++/transport.hpp
blob: db277d19185b82ed2631aa5ba2340703bd3881b5 (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
27
28
29
30
31
32
33
34
35
36
#pragma once

namespace saw {
namespace transport {
template<uint64_t Len = 8u>
struct FixedLength {};

template<uint64_t Len = 8u>
struct VarLength {};

struct NewLine {};
struct CarriageReturnNewLine {};
}

template<typename Transport>
struct transport {
private:
	static_assert(always_false<Transport>, "Transport kind not supported.");
public:


template<uint64_t Len>
struct transport<transport::FixedLength<Len>> {
private:
public:
	error_or<buffer_view> view_slice(const buffer& buff) const {
		(void) buff;
		return make_error<err::not_implemented>();
	}

	error_or<array_buffer> chain_slice(buffer& buff) const {
		(void) buff;
		return make_error<err::not_implemented>();
	}
};
}