This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
# | |
# Copyright 2020 Carica Labs, LLC | |
# | |
# Licensed under the Apache License, Version 2.0 (the "License"); | |
# you may not use this file except in compliance with the License. | |
# You may obtain a copy of the License at | |
# | |
# http://www.apache.org/licenses/LICENSE-2.0 | |
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Demonstrates a slowdown/hang on the Feather M0 + ATWINC1500 that | |
// happens when sending more than a few bytes at a time on an SSL connection | |
// that's receiving data at medium-high speed. This issue only seems to | |
// affect connections over SSL/TLS. Plain TCP connections don't seem to | |
// exhibit this problem (or perhaps there's less overhead so the buffers | |
// aren't as full so often). | |
// | |
// To reproduce this problem you'll need to run a program on a server that the | |
// Feather can reach that accepts SSL/TLS connections and sends an endless | |
// stream of data to clients. OpenSSL's "s_server" program can do this easily, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Demonstrates a lock-up with the Feather M0 + ATWINC1500 while attemping | |
// to write a byte of data to a TCP connection during a sustained read at | |
// full speed. | |
// | |
// Run a program that generates an endless stream of bytes on a host | |
// you can reach from your network ("yes | nc -k -l -p 9999"), customize | |
// the code below to connect to it, then run the sketch and watch the output | |
// on a serial monitor. | |
// | |
// You can use "pv" on the server side to rate-limit the stream. |