@@ -25,8 +25,8 @@ class message_base
2525 : public fields_base
2626 , public message_view_base
2727{
28- friend class request ;
29- friend class response ;
28+ friend class request_base ;
29+ friend class response_base ;
3030
3131 explicit
3232 message_base (
@@ -37,6 +37,16 @@ class message_base
3737 {
3838 }
3939
40+ message_base (
41+ detail::kind k,
42+ char * storage,
43+ std::size_t storage_size) noexcept
44+ : fields_view_base(&this ->fields_base::h_)
45+ , fields_base(
46+ k, storage, storage_size)
47+ {
48+ }
49+
4050 message_base (
4151 detail::kind k,
4252 std::size_t storage_size)
@@ -67,15 +77,37 @@ class message_base
6777 {
6878 }
6979
80+ message_base (
81+ detail::kind k,
82+ char * storage,
83+ std::size_t storage_size,
84+ core::string_view s)
85+ : fields_view_base(
86+ &this ->fields_base::h_)
87+ , fields_base(
88+ k, storage, storage_size, s)
89+ {
90+ }
91+
7092 explicit
7193 message_base (
72- detail::header const & ph) noexcept
94+ detail::header const & ph)
7395 : fields_view_base(
7496 &this ->fields_base::h_)
7597 , fields_base(ph)
7698 {
7799 }
78100
101+ message_base (
102+ detail::header const & ph,
103+ char * storage,
104+ std::size_t storage_size)
105+ : fields_view_base(
106+ &this ->fields_base::h_)
107+ , fields_base(ph, storage, storage_size)
108+ {
109+ }
110+
79111public:
80112 // --------------------------------------------
81113 //
0 commit comments