arduino / ArduinoCore-API

Hardware independent layer of the Arduino cores defining the official API
https://www.arduino.cc/reference/en/
GNU Lesser General Public License v2.1
216 stars 120 forks source link

Add IPv6 support to IPAddress #169

Closed sgryphon closed 2 years ago

sgryphon commented 2 years ago

Some suggested code to add support for IPv6 to the IPAddress class. (Issue #168 )

The public interface changes are minimal:

The changes are backward compatible. All of the IPv4 test cases continue to pass without any changes. i.e. Any IPv4 code will continue to get the same outputs for a given inputs.

Test cases added to cover IPv6.

Note: Whilst backwards compatible, this change does increase the memory footprint from 4 bytes to 20 bytes (assuming the enum compiles as an underlying int32_t, I think).

CLAassistant commented 2 years ago

CLA assistant check
All committers have signed the CLA.

codecov-commenter commented 2 years ago

Codecov Report

Merging #169 (bcc5233) into master (e03b653) will increase coverage by 0.10%. The diff coverage is 97.27%.

@@            Coverage Diff             @@
##           master     #169      +/-   ##
==========================================
+ Coverage   96.00%   96.11%   +0.10%     
==========================================
  Files          13       13              
  Lines         827      953     +126     
==========================================
+ Hits          794      916     +122     
- Misses         33       37       +4     
Impacted Files Coverage Δ
api/Common.h 100.00% <ø> (ø)
api/IPAddress.cpp 97.15% <97.22%> (-0.81%) :arrow_down:
api/IPAddress.h 100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.