13
13
14
14
namespace ActorModel {
15
15
16
- using string_view = std::string_view;
17
16
using Reason = Process::Reason;
18
17
19
18
// free functions bound to default node
@@ -66,8 +65,8 @@ auto send(
66
65
67
66
auto send (
68
67
const Pid& pid,
69
- const string_view type,
70
- const string_view payload
68
+ const MessageType type,
69
+ const BufferView payload
71
70
) -> bool
72
71
{
73
72
auto & node = Process::get_default_node ();
@@ -76,28 +75,56 @@ auto send(
76
75
77
76
auto send (
78
77
const Pid& pid,
79
- const string_view type,
80
- const std::vector< uint8_t >& payload_vec
78
+ const MessageType type,
79
+ const Buffer& payload_buf
81
80
) -> bool
82
81
{
83
82
auto & node = Process::get_default_node ();
84
- const auto payload = string_view{
85
- reinterpret_cast <const char *>(payload_vec.data ()),
86
- payload_vec.size ()
83
+ const auto payload = BufferView{payload_buf.data (), payload_buf.size ()};
84
+
85
+ return node.send (pid, type, payload);
86
+ }
87
+
88
+ auto send (
89
+ const Pid& pid,
90
+ const MessageType type,
91
+ const string_view payload_str
92
+ ) -> bool
93
+ {
94
+ auto & node = Process::get_default_node ();
95
+ const auto payload = BufferView{
96
+ reinterpret_cast <const uint8_t *>(payload_str.data ()),
97
+ payload_str.size ()
87
98
};
88
99
89
100
return node.send (pid, type, payload);
90
101
}
91
102
92
103
auto send (
93
104
const Pid& pid,
94
- const string_view type,
105
+ const MessageType type,
106
+ const string& payload_str
107
+ ) -> bool
108
+ {
109
+ auto & node = Process::get_default_node ();
110
+ const auto payload = BufferView{
111
+ reinterpret_cast <const uint8_t *>(payload_str.data ()),
112
+ payload_str.size ()
113
+ };
114
+
115
+ return node.send (pid, type, payload);
116
+ }
117
+
118
+
119
+ auto send (
120
+ const Pid& pid,
121
+ const MessageType type,
95
122
const flatbuffers::Vector<uint8_t >& payload_fbvec
96
123
) -> bool
97
124
{
98
125
auto & node = Process::get_default_node ();
99
- const auto payload = string_view {
100
- reinterpret_cast < const char *>( payload_fbvec.data () ),
126
+ const auto payload = BufferView {
127
+ payload_fbvec.data (),
101
128
payload_fbvec.size ()
102
129
};
103
130
@@ -106,15 +133,16 @@ auto send(
106
133
107
134
auto send (
108
135
const Pid& pid,
109
- const string_view type,
136
+ const MessageType type,
110
137
const MessageFlatbuffer& payload_flatbuffer
111
138
) -> bool
112
139
{
113
140
auto & node = Process::get_default_node ();
114
- auto payload = string_view (
115
- reinterpret_cast < const char *>( payload_flatbuffer.data () ),
141
+ auto payload = BufferView{
142
+ payload_flatbuffer.data (),
116
143
payload_flatbuffer.size ()
117
- );
144
+ };
145
+
118
146
return node.send (pid, type, payload);
119
147
}
120
148
@@ -131,25 +159,57 @@ auto send_after(
131
159
auto send_after (
132
160
const Time time,
133
161
const Pid& pid,
134
- const string_view type,
135
- const string_view payload
162
+ const MessageType type,
163
+ const BufferView payload
164
+ ) -> TRef
165
+ {
166
+ auto & node = Process::get_default_node ();
167
+ return node.send_after (time, pid, type, payload);
168
+ }
169
+
170
+ auto send_after (
171
+ const Time time,
172
+ const Pid& pid,
173
+ const MessageType type,
174
+ const Buffer& payload_buf
175
+ ) -> TRef
176
+ {
177
+ auto & node = Process::get_default_node ();
178
+ const auto payload = BufferView{
179
+ reinterpret_cast <const uint8_t *>(payload_buf.data ()),
180
+ payload_buf.size ()
181
+ };
182
+
183
+ return node.send_after (time, pid, type, payload);
184
+ }
185
+
186
+ auto send_after (
187
+ const Time time,
188
+ const Pid& pid,
189
+ const MessageType type,
190
+ const string_view payload_str
136
191
) -> TRef
137
192
{
138
193
auto & node = Process::get_default_node ();
194
+ const auto payload = BufferView{
195
+ reinterpret_cast <const uint8_t *>(payload_str.data ()),
196
+ payload_str.size ()
197
+ };
198
+
139
199
return node.send_after (time, pid, type, payload);
140
200
}
141
201
142
202
auto send_after (
143
203
const Time time,
144
204
const Pid& pid,
145
- const string_view type,
146
- const std::vector< uint8_t >& payload_vec
205
+ const MessageType type,
206
+ const string& payload_str
147
207
) -> TRef
148
208
{
149
209
auto & node = Process::get_default_node ();
150
- const auto payload = string_view {
151
- reinterpret_cast <const char *>(payload_vec .data ()),
152
- payload_vec .size ()
210
+ const auto payload = BufferView {
211
+ reinterpret_cast <const uint8_t *>(payload_str .data ()),
212
+ payload_str .size ()
153
213
};
154
214
155
215
return node.send_after (time, pid, type, payload);
@@ -158,15 +218,16 @@ auto send_after(
158
218
auto send_after (
159
219
const Time time,
160
220
const Pid& pid,
161
- const string_view type,
221
+ const MessageType type,
162
222
const MessageFlatbuffer& payload_flatbuffer
163
223
) -> TRef
164
224
{
165
225
auto & node = Process::get_default_node ();
166
- auto payload = string_view (
167
- reinterpret_cast < const char *>( payload_flatbuffer.data () ),
226
+ auto payload = BufferView{
227
+ payload_flatbuffer.data (),
168
228
payload_flatbuffer.size ()
169
- );
229
+ };
230
+
170
231
return node.send_after (time, pid, type, payload);
171
232
}
172
233
@@ -183,8 +244,8 @@ auto send_interval(
183
244
auto send_interval (
184
245
const Time time,
185
246
const Pid& pid,
186
- const string_view type,
187
- const string_view payload
247
+ const MessageType type,
248
+ const BufferView payload
188
249
) -> TRef
189
250
{
190
251
auto & node = Process::get_default_node ();
@@ -194,14 +255,14 @@ auto send_interval(
194
255
auto send_interval (
195
256
const Time time,
196
257
const Pid& pid,
197
- const string_view type,
198
- const std::vector< uint8_t >& payload_vec
258
+ const MessageType type,
259
+ const Buffer& payload_buf
199
260
) -> TRef
200
261
{
201
262
auto & node = Process::get_default_node ();
202
- const auto payload = string_view {
203
- reinterpret_cast < const char *>(payload_vec .data () ),
204
- payload_vec .size ()
263
+ const auto payload = BufferView {
264
+ payload_buf .data (),
265
+ payload_buf .size ()
205
266
};
206
267
207
268
return node.send_interval (time, pid, type, payload);
@@ -210,15 +271,32 @@ auto send_interval(
210
271
auto send_interval (
211
272
const Time time,
212
273
const Pid& pid,
213
- const string_view type,
274
+ const MessageType type,
275
+ const string_view payload_str
276
+ ) -> TRef
277
+ {
278
+ auto & node = Process::get_default_node ();
279
+ const auto payload = BufferView{
280
+ reinterpret_cast <const uint8_t *>(payload_str.data ()),
281
+ payload_str.size ()
282
+ };
283
+
284
+ return node.send_interval (time, pid, type, payload);
285
+ }
286
+
287
+ auto send_interval (
288
+ const Time time,
289
+ const Pid& pid,
290
+ const MessageType type,
214
291
const MessageFlatbuffer& payload_flatbuffer
215
292
) -> TRef
216
293
{
217
294
auto & node = Process::get_default_node ();
218
- auto payload = string_view (
219
- reinterpret_cast < const char *>( payload_flatbuffer.data () ),
295
+ auto payload = BufferView{
296
+ payload_flatbuffer.data (),
220
297
payload_flatbuffer.size ()
221
- );
298
+ };
299
+
222
300
return node.send_interval (time, pid, type, payload);
223
301
}
224
302
@@ -229,14 +307,14 @@ auto cancel(const TRef tref)
229
307
return node.cancel (tref);
230
308
}
231
309
232
- auto register_name (const string_view name, const Pid& pid)
310
+ auto register_name (const Name name, const Pid& pid)
233
311
-> bool
234
312
{
235
313
auto & node = Process::get_default_node ();
236
314
return node.register_name (name, pid);
237
315
}
238
316
239
- auto unregister (const string_view name)
317
+ auto unregister (const Name name)
240
318
-> bool
241
319
{
242
320
auto & node = Process::get_default_node ();
@@ -250,7 +328,7 @@ auto registered()
250
328
return node.registered ();
251
329
}
252
330
253
- auto whereis (const string_view name)
331
+ auto whereis (const Name name)
254
332
-> MaybePid
255
333
{
256
334
auto & node = Process::get_default_node ();
@@ -264,7 +342,7 @@ auto exit(const Pid& pid, const Pid& pid2, const Reason exit_reason)
264
342
return node.exit (pid, pid2, exit_reason);
265
343
}
266
344
267
- auto module (const std::string_view module_flatbuffer)
345
+ auto module (const BufferView module_flatbuffer)
268
346
-> bool
269
347
{
270
348
auto & node = Process::get_default_node ();
@@ -273,8 +351,8 @@ auto module(const std::string_view module_flatbuffer)
273
351
274
352
auto apply (
275
353
const Pid& pid,
276
- const std::string_view function_name,
277
- const std::string_view args
354
+ const Name function_name,
355
+ const BufferView args
278
356
) -> ResultUnion
279
357
{
280
358
auto & node = Process::get_default_node ();
@@ -283,9 +361,9 @@ auto apply(
283
361
284
362
auto apply (
285
363
const Pid& pid,
286
- const std::string_view module_name,
287
- const std::string_view function_name,
288
- const std::string_view args
364
+ const Name module_name,
365
+ const Name function_name,
366
+ const BufferView args
289
367
) -> ResultUnion
290
368
{
291
369
auto & node = Process::get_default_node ();
0 commit comments