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

server.available() according to reference. with example #323

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

JAndrassy
Copy link

@JAndrassy JAndrassy commented Jan 9, 2022

The reference for WiFi101 server.available() has

Gets a client that is connected to the server and has data available for reading.

which is same as for the Ethernet library and WiFiNINA library, and many other libraries implementing the Arduino networking API introduced by the Ethernet library.

But server.available() in WiFi101 library now returns a just connected client even if it doesn't have data available yet. (This is an interesting workaround for missing accept() function, but it is causing problems sometimes even with the examples of the WiFi101 library.)

This PR fixes available() and my other PR adds accept(), but the change of available() should be considered as breaking change, because sketch which expected server.available() to return new connected clients even without data, will break.

and the PR contains my example PagerServer (already accepted in Ethernet library) which concentrates on how server.available() and print-to-all-clients works.

@per1234 per1234 added topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project labels Jan 9, 2022
@github-actions
Copy link

github-actions bot commented Jan 9, 2022

Memory usage change @ 7d8c54e

Board flash % RAM for global variables %
Intel:arc32:arduino_101 💚 -12 - 0 -0.01 - 0.0 N/A N/A
arduino:avr:mega 💚 -44 - 0 -0.02 - 0.0 0 - 0 0.0 - 0.0
arduino:avr:uno 💚 -34 - 0 -0.11 - 0.0 0 - 0 0.0 - 0.0
arduino:sam:arduino_due_x_dbg 💚 -16 - 0 -0.0 - 0.0 N/A N/A
arduino:samd:arduino_zero_edbg 💚 -8 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkr1000 💚 -8 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
Click for full report table
Board examples/AP_SimpleWebServer
flash
% examples/AP_SimpleWebServer
RAM for global variables
% examples/CheckWifi101FirmwareVersion
flash
% examples/CheckWifi101FirmwareVersion
RAM for global variables
% examples/ConnectNoEncryption
flash
% examples/ConnectNoEncryption
RAM for global variables
% examples/ConnectWithWEP
flash
% examples/ConnectWithWEP
RAM for global variables
% examples/ConnectWithWPA
flash
% examples/ConnectWithWPA
RAM for global variables
% examples/MDNS_WiFiWebServer
flash
% examples/MDNS_WiFiWebServer
RAM for global variables
% examples/Provisioning_WiFiWebServer
flash
% examples/Provisioning_WiFiWebServer
RAM for global variables
% examples/ScanNetworks
flash
% examples/ScanNetworks
RAM for global variables
% examples/ScanNetworksAdvanced
flash
% examples/ScanNetworksAdvanced
RAM for global variables
% examples/SimpleWebServerWiFi
flash
% examples/SimpleWebServerWiFi
RAM for global variables
% examples/WiFiChatServer
flash
% examples/WiFiChatServer
RAM for global variables
% examples/WiFiPing
flash
% examples/WiFiPing
RAM for global variables
% examples/WiFiSSLClient
flash
% examples/WiFiSSLClient
RAM for global variables
% examples/WiFiUdpNtpClient
flash
% examples/WiFiUdpNtpClient
RAM for global variables
% examples/WiFiUdpSendReceiveString
flash
% examples/WiFiUdpSendReceiveString
RAM for global variables
% examples/WiFiWebClient
flash
% examples/WiFiWebClient
RAM for global variables
% examples/WiFiWebClientRepeating
flash
% examples/WiFiWebClientRepeating
RAM for global variables
% examples/WiFiWebServer
flash
% examples/WiFiWebServer
RAM for global variables
% examples/FirmwareUpdater
flash
% examples/FirmwareUpdater
RAM for global variables
%
Intel:arc32:arduino_101 -12 -0.01 N/A N/A 0 0.0 N/A N/A 0 0.0 N/A N/A 0 0.0 N/A N/A 0 0.0 N/A N/A -12 -0.01 N/A N/A -12 -0.01 N/A N/A 0 0.0 N/A N/A 0 0.0 N/A N/A -12 -0.01 N/A N/A -12 -0.01 N/A N/A 0 0.0 N/A N/A 0 0.0 N/A N/A 0 0.0 N/A N/A 0 0.0 N/A N/A 0 0.0 N/A N/A 0 0.0 N/A N/A -12 -0.01 N/A N/A 0 0.0 N/A N/A
arduino:avr:mega -6 -0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -26 -0.01 0 0.0 -26 -0.01 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -44 -0.02 0 0.0 -40 -0.02 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -34 -0.01 0 0.0
arduino:avr:uno -8 -0.02 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -26 -0.08 0 0.0 -26 -0.08 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -34 -0.11 0 0.0 -32 -0.1 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -34 -0.11 0 0.0
arduino:sam:arduino_due_x_dbg -16 -0.0 N/A N/A 0 0.0 N/A N/A 0 0.0 N/A N/A 0 0.0 N/A N/A 0 0.0 N/A N/A -16 -0.0 N/A N/A -8 -0.0 N/A N/A 0 0.0 N/A N/A 0 0.0 N/A N/A -8 -0.0 N/A N/A -8 -0.0 N/A N/A 0 0.0 N/A N/A 0 0.0 N/A N/A 0 0.0 N/A N/A 0 0.0 N/A N/A 0 0.0 N/A N/A 0 0.0 N/A N/A -8 -0.0 N/A N/A 0 0.0 N/A N/A
arduino:samd:arduino_zero_edbg -8 -0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -8 -0.0 0 0.0 -8 -0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -8 -0.0 0 0.0 -8 -0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -8 -0.0 0 0.0 0 0.0 0 0.0
arduino:samd:mkr1000 -8 -0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -8 -0.0 0 0.0 -8 -0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -8 -0.0 0 0.0 -8 -0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -8 -0.0 0 0.0 0 0.0 0 0.0
Click for full report CSV
Board,examples/AP_SimpleWebServer<br>flash,%,examples/AP_SimpleWebServer<br>RAM for global variables,%,examples/CheckWifi101FirmwareVersion<br>flash,%,examples/CheckWifi101FirmwareVersion<br>RAM for global variables,%,examples/ConnectNoEncryption<br>flash,%,examples/ConnectNoEncryption<br>RAM for global variables,%,examples/ConnectWithWEP<br>flash,%,examples/ConnectWithWEP<br>RAM for global variables,%,examples/ConnectWithWPA<br>flash,%,examples/ConnectWithWPA<br>RAM for global variables,%,examples/MDNS_WiFiWebServer<br>flash,%,examples/MDNS_WiFiWebServer<br>RAM for global variables,%,examples/Provisioning_WiFiWebServer<br>flash,%,examples/Provisioning_WiFiWebServer<br>RAM for global variables,%,examples/ScanNetworks<br>flash,%,examples/ScanNetworks<br>RAM for global variables,%,examples/ScanNetworksAdvanced<br>flash,%,examples/ScanNetworksAdvanced<br>RAM for global variables,%,examples/SimpleWebServerWiFi<br>flash,%,examples/SimpleWebServerWiFi<br>RAM for global variables,%,examples/WiFiChatServer<br>flash,%,examples/WiFiChatServer<br>RAM for global variables,%,examples/WiFiPing<br>flash,%,examples/WiFiPing<br>RAM for global variables,%,examples/WiFiSSLClient<br>flash,%,examples/WiFiSSLClient<br>RAM for global variables,%,examples/WiFiUdpNtpClient<br>flash,%,examples/WiFiUdpNtpClient<br>RAM for global variables,%,examples/WiFiUdpSendReceiveString<br>flash,%,examples/WiFiUdpSendReceiveString<br>RAM for global variables,%,examples/WiFiWebClient<br>flash,%,examples/WiFiWebClient<br>RAM for global variables,%,examples/WiFiWebClientRepeating<br>flash,%,examples/WiFiWebClientRepeating<br>RAM for global variables,%,examples/WiFiWebServer<br>flash,%,examples/WiFiWebServer<br>RAM for global variables,%,examples/FirmwareUpdater<br>flash,%,examples/FirmwareUpdater<br>RAM for global variables,%
Intel:arc32:arduino_101,-12,-0.01,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,-12,-0.01,N/A,N/A,-12,-0.01,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,-12,-0.01,N/A,N/A,-12,-0.01,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,-12,-0.01,N/A,N/A,0,0.0,N/A,N/A
arduino:avr:mega,-6,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-26,-0.01,0,0.0,-26,-0.01,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-44,-0.02,0,0.0,-40,-0.02,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-34,-0.01,0,0.0,,,,
arduino:avr:uno,-8,-0.02,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-26,-0.08,0,0.0,-26,-0.08,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-34,-0.11,0,0.0,-32,-0.1,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-34,-0.11,0,0.0,,,,
arduino:sam:arduino_due_x_dbg,-16,-0.0,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,-16,-0.0,N/A,N/A,-8,-0.0,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,-8,-0.0,N/A,N/A,-8,-0.0,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,-8,-0.0,N/A,N/A,0,0.0,N/A,N/A
arduino:samd:arduino_zero_edbg,-8,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-8,-0.0,0,0.0,-8,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-8,-0.0,0,0.0,-8,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-8,-0.0,0,0.0,0,0.0,0,0.0
arduino:samd:mkr1000,-8,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-8,-0.0,0,0.0,-8,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-8,-0.0,0,0.0,-8,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-8,-0.0,0,0.0,0,0.0,0,0.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants