12 , mResponseSink([](
const fl::json&) {})
33 size_t processed =
pull();
35 return processed + sent;
53 bool isScheduledAck = response.contains(
"scheduled") && response[
"scheduled"].as_bool().value_or(
false);
54 bool isAsyncSkip = response.contains(
"__skip") && response[
"__skip"].as_bool().value_or(
false);
55 if (!response.is_null() && !isScheduledAck && !isAsyncSkip) {
size_t push()
Push queued responses to sink.
size_t update()
Main update: pull + push.
fl::vector< fl::json > mOutgoingQueue
void setRequestSource(RequestSource source)
Set request source callback.
size_t pull()
Pull requests from source, process, queue responses.
fl::function< fl::optional< fl::json >()> RequestSource
void setRequestHandler(RequestHandler handler)
Set request handler.
RequestHandler mRequestHandler
RequestSource mRequestSource
void setResponseSink(ResponseSink sink)
Set response sink callback.
Server() FL_NOEXCEPT
Default constructor.
fl::function< void(const fl::json &)> ResponseSink
fl::function< fl::json(const fl::json &)> RequestHandler
ResponseSink mResponseSink
FastLED's Elegant JSON Library: fl::json
constexpr remove_reference< T >::type && move(T &&t) FL_NOEXCEPT
constexpr remove_reference< T >::type && move(T &&t) FL_NOEXCEPT
constexpr nullopt_t nullopt
Base definition for an LED controller.