13 , mResponseSink([](
const fl::json&) {})
34#if FL_PLATFORM_HAS_LARGE_MEMORY
35 mResponseStreamSink =
fl::move(sink);
42 size_t processed =
pull();
44 return processed + sent;
64 bool isScheduledAck = response.contains(
"scheduled") && response[
"scheduled"].as_bool().value_or(
false);
65 bool isAsyncSkip = (response.contains(
"noEnqueue") && response[
"noEnqueue"].as_bool().value_or(
false))
66 || (response.contains(
"__skip") && response[
"__skip"].as_bool().value_or(
false));
67 if (!response.is_null() && !isScheduledAck && !isAsyncSkip) {
void setRequestSource(RequestSource source) FL_NO_EXCEPT
Set request source callback.
fl::vector< fl::json > mOutgoingQueue
fl::function< fl::optional< fl::json >()> RequestSource
void setRequestHandler(RequestHandler handler) FL_NO_EXCEPT
Set request handler.
size_t update() FL_NO_EXCEPT
Main update: pull + push.
void setResponseSink(ResponseSink sink) FL_NO_EXCEPT
Set response sink callback.
Server() FL_NO_EXCEPT
Default constructor.
size_t pull() FL_NO_EXCEPT
Pull requests from source, process, queue responses.
RequestHandler mRequestHandler
RequestSource mRequestSource
void setResponseStreamSink(ResponseStreamSink sink) FL_NO_EXCEPT
Set streaming response sink callback.
size_t push() FL_NO_EXCEPT
Push queued responses to sink.
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_NO_EXCEPT
u8 u8 fract8 blur_amount FL_NO_EXCEPT
constexpr nullopt_t nullopt
fl::function< void(fl::JsonStreamCallback)> ResponseStreamSink
Base definition for an LED controller.