ap

Dependencies:   DnsQuery

Dependents:   WizFi310_TCP_Echo_Server_Example

Fork of NetworkSocketAPI by NetworkSocketAPI

Revision:
104:d28d8b508e7c
Parent:
94:644df37bb05b
Child:
105:2fd212f8da61
--- a/SocketAddress.h	Tue Apr 19 18:26:12 2016 -0500
+++ b/SocketAddress.h	Tue Apr 19 18:26:21 2016 -0500
@@ -1,4 +1,4 @@
-/* Socket
+/* SocketAddress
  * Copyright (c) 2015 ARM Limited
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -28,8 +28,11 @@
  */
 #define NSAPI_IP_BYTES NSAPI_IPv6_BYTES
 
-/** Enum of address families
- *  @enum nsapi_family_t
+/** Enum of IP address versions
+ *
+ *  The IP version specifies the type of an IP address.
+ *
+ *  @enum nsapi_version_t
  */
 enum nsapi_version_t {
     NSAPI_IPv4, /*!< Address is IPv4 */
@@ -56,74 +59,92 @@
 class NetworkInterface;
 
 
-/** A general address class composed of the IP address and optional port
+/** SocketAddress class
+ *
+ *  Representation of an IP address and port pair. 
  */
 class SocketAddress {
 public:
-    /** SocketAddress construction using DNS resolution
-     *  @param iface    NetworkInterface to use for DNS resolution
-     *  @param addr     Null-terminated hostname that will be resolved
+    /** Create a SocketAddress from a hostname and port
+     *
+     *  The hostname may be either a domain name or an IP address. If the
+     *  hostname is an IP address, no network transactions will be performed.
+     *
+     *  On failure, the IP address and port will be set to zero
+     *  
+     *  @param iface    Network stack to use for DNS resolution
+     *  @param host     Hostname to resolve
      *  @param port     Optional 16-bit port
-     *  @note on failure, IP address and port will be set to zero
      */
-    SocketAddress(NetworkInterface *iface, const char *addr, uint16_t port = 0);
+    SocketAddress(NetworkInterface *iface, const char *host, uint16_t port = 0);
 
-    /** SocketAddress construction
-     *  @param addr     Null-terminated IP address
+    /** Create a SocketAddress from an IP address and port
+     *
+     *  @param host     Null-terminated representation of the IP address
      *  @param port     Optional 16-bit port
      */
     SocketAddress(const char *addr = 0, uint16_t port = 0);
 
-    /** SocketAddress construction
-     *  @param bytes    Bytes to assign to address in big-endian order
+    /** Create a SocketAddress from a raw IP address and port
+     *
+     *  @param bytes    Raw IP address in big-endian order
      *  @param version  IP address version, NSAPI_IPv4 or NSAPI_IPv6
      *  @param port     Optional 16-bit port
      */
     SocketAddress(const void *bytes, nsapi_version_t version, uint16_t port = 0);
 
-    /** SocketAddress construction
-     *  @param addr     SocketAddress to copy
+    /** Create a SocketAddress from another SocketAddress
+     *
+     *  @param address  SocketAddress to copy
      */
     SocketAddress(const SocketAddress &addr);
    
     /** Set the IP address
-     *  @param addr     Null-terminated string representing the IP address
+     *
+     *  @param addr     Null-terminated represention of the IP address
      */
     void set_ip_address(const char *addr);
 
-    /** Set the IP address bytes directly
-     *  @param bytes    Bytes to assign to address in big-endian order
+    /** Set the raw IP address
+     *
+     *  @param bytes    Raw IP address in big-endian order
      *  @param version  IP address version, NSAPI_IPv4 or NSAPI_IPv6
      */
     void set_ip_bytes(const void *bytes, nsapi_version_t version);
 
     /** Set the port
+     *
      *  @param port     16-bit port
      */
     void set_port(uint16_t port);
     
     /** Get the IP address
-     *  @return         The string representation of the IP Address
+     *
+     *  @return         Null-terminated representation of the IP Address
      */
     const char *get_ip_address() const;
 
-    /** Get the IP address bytes directly
-     *  @return         IP address bytes
+    /** Get the raw IP address
+     *
+     *  @return         Raw IP address in big-endian order
      */
     const void *get_ip_bytes() const;
 
-    /** Get the type of the IP address
+    /** Get the IP address version
+     *
      *  @return         IP address version, NSAPI_IPv4 or NSAPI_IPv6
      */
     nsapi_version_t get_ip_version() const;
     
     /** Get the port
+     *
      *  @return         The 16-bit port
      */
     uint16_t get_port() const;
 
-    /** Determine if address is all zeros
-     *  @return         True if address is not zero address
+    /** Test if address is zero
+     *
+     *  @return         True if address is not zero
      */
     operator bool() const;