@@ -424,12 +424,12 @@ IPAddress AsyncUDPPacket::localIP()
424
424
return IPAddress (_localIp.u_addr .ip4 .addr );
425
425
}
426
426
427
- IPv6Address AsyncUDPPacket::localIPv6 ()
427
+ IPAddress AsyncUDPPacket::localIPv6 ()
428
428
{
429
429
if (_localIp.type != IPADDR_TYPE_V6){
430
- return IPv6Address ( );
430
+ return IPAddress (IPv6 );
431
431
}
432
- return IPv6Address ( _localIp.u_addr .ip6 .addr );
432
+ return IPAddress (IPv6, ( const uint8_t *) _localIp.u_addr .ip6 .addr , _localIp. u_addr . ip6 . zone );
433
433
}
434
434
435
435
uint16_t AsyncUDPPacket::localPort ()
@@ -445,12 +445,12 @@ IPAddress AsyncUDPPacket::remoteIP()
445
445
return IPAddress (_remoteIp.u_addr .ip4 .addr );
446
446
}
447
447
448
- IPv6Address AsyncUDPPacket::remoteIPv6 ()
448
+ IPAddress AsyncUDPPacket::remoteIPv6 ()
449
449
{
450
450
if (_remoteIp.type != IPADDR_TYPE_V6){
451
- return IPv6Address ( );
451
+ return IPAddress (IPv6 );
452
452
}
453
- return IPv6Address ( _remoteIp.u_addr .ip6 .addr );
453
+ return IPAddress (IPv6, ( const uint8_t *) _remoteIp.u_addr .ip6 .addr , _remoteIp. u_addr . ip6 . zone );
454
454
}
455
455
456
456
uint16_t AsyncUDPPacket::remotePort ()
@@ -739,32 +739,28 @@ bool AsyncUDP::listen(uint16_t port)
739
739
bool AsyncUDP::listen (const IPAddress addr, uint16_t port)
740
740
{
741
741
ip_addr_t laddr;
742
- laddr.type = IPADDR_TYPE_V4;
743
- laddr.u_addr .ip4 .addr = addr;
742
+ addr.to_ip_addr_t (&laddr);
744
743
return listen (&laddr, port);
745
744
}
746
745
747
746
bool AsyncUDP::listenMulticast (const IPAddress addr, uint16_t port, uint8_t ttl, tcpip_adapter_if_t tcpip_if)
748
747
{
749
748
ip_addr_t laddr;
750
- laddr.type = IPADDR_TYPE_V4;
751
- laddr.u_addr .ip4 .addr = addr;
749
+ addr.to_ip_addr_t (&laddr);
752
750
return listenMulticast (&laddr, port, ttl, tcpip_if);
753
751
}
754
752
755
753
bool AsyncUDP::connect (const IPAddress addr, uint16_t port)
756
754
{
757
755
ip_addr_t daddr;
758
- daddr.type = IPADDR_TYPE_V4;
759
- daddr.u_addr .ip4 .addr = addr;
756
+ addr.to_ip_addr_t (&daddr);
760
757
return connect (&daddr, port);
761
758
}
762
759
763
760
size_t AsyncUDP::writeTo (const uint8_t *data, size_t len, const IPAddress addr, uint16_t port, tcpip_adapter_if_t tcpip_if)
764
761
{
765
762
ip_addr_t daddr;
766
- daddr.type = IPADDR_TYPE_V4;
767
- daddr.u_addr .ip4 .addr = addr;
763
+ addr.to_ip_addr_t (&daddr);
768
764
return writeTo (data, len, &daddr, port, tcpip_if);
769
765
}
770
766
@@ -776,44 +772,12 @@ IPAddress AsyncUDP::listenIP()
776
772
return IPAddress (_pcb->remote_ip .u_addr .ip4 .addr );
777
773
}
778
774
779
- bool AsyncUDP::listen (const IPv6Address addr, uint16_t port)
780
- {
781
- ip_addr_t laddr;
782
- laddr.type = IPADDR_TYPE_V6;
783
- memcpy ((uint8_t *)(laddr.u_addr .ip6 .addr ), (const uint8_t *)addr, 16 );
784
- return listen (&laddr, port);
785
- }
786
-
787
- bool AsyncUDP::listenMulticast (const IPv6Address addr, uint16_t port, uint8_t ttl, tcpip_adapter_if_t tcpip_if)
788
- {
789
- ip_addr_t laddr;
790
- laddr.type = IPADDR_TYPE_V6;
791
- memcpy ((uint8_t *)(laddr.u_addr .ip6 .addr ), (const uint8_t *)addr, 16 );
792
- return listenMulticast (&laddr, port, ttl, tcpip_if);
793
- }
794
-
795
- bool AsyncUDP::connect (const IPv6Address addr, uint16_t port)
796
- {
797
- ip_addr_t daddr;
798
- daddr.type = IPADDR_TYPE_V6;
799
- memcpy ((uint8_t *)(daddr.u_addr .ip6 .addr ), (const uint8_t *)addr, 16 );
800
- return connect (&daddr, port);
801
- }
802
-
803
- size_t AsyncUDP::writeTo (const uint8_t *data, size_t len, const IPv6Address addr, uint16_t port, tcpip_adapter_if_t tcpip_if)
804
- {
805
- ip_addr_t daddr;
806
- daddr.type = IPADDR_TYPE_V6;
807
- memcpy ((uint8_t *)(daddr.u_addr .ip6 .addr ), (const uint8_t *)addr, 16 );
808
- return writeTo (data, len, &daddr, port, tcpip_if);
809
- }
810
-
811
- IPv6Address AsyncUDP::listenIPv6 ()
775
+ IPAddress AsyncUDP::listenIPv6 ()
812
776
{
813
777
if (!_pcb || _pcb->remote_ip .type != IPADDR_TYPE_V6){
814
- return IPv6Address ( );
778
+ return IPAddress (IPv6 );
815
779
}
816
- return IPv6Address ( _pcb->remote_ip .u_addr .ip6 .addr );
780
+ return IPAddress (IPv6, ( const uint8_t *) _pcb->remote_ip .u_addr .ip6 .addr , _pcb-> remote_ip . u_addr . ip6 . zone );
817
781
}
818
782
819
783
size_t AsyncUDP::write (const uint8_t *data, size_t len)
@@ -866,14 +830,6 @@ size_t AsyncUDP::sendTo(AsyncUDPMessage &message, const IPAddress addr, uint16_t
866
830
return writeTo (message.data (), message.length (), addr, port, tcpip_if);
867
831
}
868
832
869
- size_t AsyncUDP::sendTo (AsyncUDPMessage &message, const IPv6Address addr, uint16_t port, tcpip_adapter_if_t tcpip_if)
870
- {
871
- if (!message) {
872
- return 0 ;
873
- }
874
- return writeTo (message.data (), message.length (), addr, port, tcpip_if);
875
- }
876
-
877
833
size_t AsyncUDP::send (AsyncUDPMessage &message)
878
834
{
879
835
if (!message) {
0 commit comments