Skip to content

Commit 2be9048

Browse files
committed
only expose call to asio_client
1 parent ce14d3f commit 2be9048

File tree

2 files changed

+15
-85
lines changed

2 files changed

+15
-85
lines changed

include/glaze/ext/glaze_asio.hpp

+10-82
Original file line numberDiff line numberDiff line change
@@ -323,11 +323,10 @@ namespace glz
323323
}
324324
}
325325

326-
template <class... Params>
327-
void notify(repe::user_header&& header, repe::message& response, Params&&... params)
326+
template <class Header = repe::user_header, class... Params>
327+
void call(Header&& header, repe::message& response, Params&&... params)
328328
{
329329
auto request = message_pool->borrow();
330-
header.notify(true);
331330
repe::request<Opts>(std::move(header), *request, std::forward<Params>(params)...);
332331
if (bool(request->error())) {
333332
encode_error(request->error(), response, "bad request");
@@ -351,88 +350,17 @@ namespace glz
351350
encode_error(ec, response, "send failure");
352351
return;
353352
}
354-
}
355-
356-
void get(repe::user_header&& header, repe::message& response)
357-
{
358-
auto request = message_pool->borrow();
359-
header.notify(false);
360-
header.read(true);
361-
repe::request<Opts>(std::move(header), *request);
362-
if (bool(request->error())) {
363-
encode_error(request->error(), response, "bad request");
364-
return;
365-
}
366-
367-
unique_socket socket{socket_pool.get()};
368-
if (not socket) {
369-
socket.ptr.reset();
370-
(*is_connected) = false;
371-
encode_error(error_code::send_error, response, "socket failure");
372-
return;
373-
}
374-
375-
error_code ec{};
376-
send_buffer(*socket, *request, ec);
377-
378-
if (bool(ec)) {
379-
socket.ptr.reset();
380-
(*is_connected) = false;
381-
encode_error(ec, response, "send failure");
382-
return;
383-
}
384353

385-
receive_buffer(*socket, response, ec);
386-
if (bool(ec)) {
387-
socket.ptr.reset();
388-
(*is_connected) = false;
389-
encode_error(ec, response, "receive failure");
390-
return;
391-
}
392-
}
393-
394-
template <class... Params>
395-
void set(repe::user_header&& header, repe::message& response, Params&&... params)
396-
{
397-
auto request = message_pool->borrow();
398-
repe::request<Opts>(std::move(header), *request, std::forward<Params>(params)...);
399-
if (bool(request->error())) {
400-
encode_error(request->error(), response, "bad request");
401-
return;
402-
}
403-
404-
unique_socket socket{socket_pool.get()};
405-
if (not socket) {
406-
socket.ptr.reset();
407-
(*is_connected) = false;
408-
encode_error(error_code::send_error, response, "socket failure");
409-
return;
410-
}
411-
412-
error_code ec{};
413-
send_buffer(*socket, *request, ec);
414-
415-
if (bool(ec)) {
416-
socket.ptr.reset();
417-
(*is_connected) = false;
418-
encode_error(ec, response, "send failure");
419-
return;
420-
}
421-
422-
receive_buffer(*socket, response, ec);
423-
if (bool(ec)) {
424-
socket.ptr.reset();
425-
(*is_connected) = false;
426-
encode_error(ec, response, "receive failure");
427-
return;
354+
if (not header.notify()) {
355+
receive_buffer(*socket, response, ec);
356+
if (bool(ec)) {
357+
socket.ptr.reset();
358+
(*is_connected) = false;
359+
encode_error(ec, response, "receive failure");
360+
return;
361+
}
428362
}
429363
}
430-
431-
template <class... Params>
432-
void call(repe::user_header&& header, repe::message& response, Params&&... params)
433-
{
434-
set(std::move(header), response, std::forward<Params>(params)...);
435-
}
436364
};
437365

438366
template <opts Opts = opts{}>

tests/asio_repe/asio_repe.cpp

+5-3
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ void notify_test()
4141
}
4242

4343
glz::repe::message msg{};
44-
client.notify({"/hello"}, msg);
44+
glz::repe::user_header header{"/hello"};
45+
header.notify(true);
46+
client.call(header, msg);
4547
if (bool(msg.error())) {
4648
throw std::runtime_error(glz::repe::decode_error(msg));
4749
}
@@ -91,7 +93,7 @@ void async_clients_test()
9193
}
9294

9395
glz::repe::message msg{};
94-
client.set({"/age"}, msg, 29);
96+
client.call({"/age"}, msg, 29);
9597
if (bool(msg.error())) {
9698
std::cerr << glz::repe::decode_error(msg) << '\n';
9799
}
@@ -297,7 +299,7 @@ void raw_json_tests()
297299
(void)client.init();
298300

299301
glz::repe::message msg{};
300-
client.get({"/do_nothing"}, msg);
302+
client.call({"/do_nothing"}, msg);
301303
if (bool(msg.error())) {
302304
std::cerr << glz::repe::decode_error(msg) << '\n';
303305
}

0 commit comments

Comments
 (0)