@@ -323,11 +323,10 @@ namespace glz
323
323
}
324
324
}
325
325
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)
328
328
{
329
329
auto request = message_pool->borrow ();
330
- header.notify (true );
331
330
repe::request<Opts>(std::move (header), *request, std::forward<Params>(params)...);
332
331
if (bool (request->error ())) {
333
332
encode_error (request->error (), response, " bad request" );
@@ -351,88 +350,17 @@ namespace glz
351
350
encode_error (ec, response, " send failure" );
352
351
return ;
353
352
}
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
- }
384
353
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
+ }
428
362
}
429
363
}
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
- }
436
364
};
437
365
438
366
template <opts Opts = opts{}>
0 commit comments