Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove library modification requirements and bring in features #117

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

opticron
Copy link
Contributor

@opticron opticron commented Apr 29, 2018

This removes the requirement to modify the aJson library. I have a pull request open against aJson to make bufferless run faster, but it's unlikely to get merged since the person managing the project seems to have abandoned it. Bufferless responses currently causes the code to run unreasonably slow due to the missing optimizations in aJson, but even with them is still slower than the current situation or dynamic buffer. This is due to the large amount of overhead that exists in the HTTP client library when writing data to it piecemeal and the optimizations partially address that by reducing the number of calls into the HTTP client library when possible.

The modifications to SSDP are features that will enable more fun things I have in the pipe, but are completely backward compatible with existing usage.

Kinsey Moore and others added 5 commits April 29, 2018 20:40
This removes the requirement to modify the aJson library to get a larger
buffer. The default method allocates a buffer for rendering JSON
dynamically based on output size. A new method has also been added for
applications with less available SRAM (setBufferlessResponses). This
requires no large fixed or dynamic buffer, but increases response
rendering time by close to two orders of magnitude due to inefficiencies
and overhead in the WiFiClient and aJson. With the following PR in
place, this is reduced to an order of magnitude difference (50ms vs
400ms for /api): interactive-matter/aJson#91
This allows for more customized code later on by clients.
This displays the MAC on boot.
This adds support for reading and responding to incoming NOTIFYs.
This allows for beginning a SEARCH and handling SEARCH responses.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant