ap

Dependencies:   DnsQuery

Dependents:   WizFi310_TCP_Echo_Server_Example

Fork of NetworkSocketAPI by NetworkSocketAPI

Revision:
103:37decbcb1108
Parent:
98:0f614f1d0398
Child:
104:d28d8b508e7c
--- a/UDPSocket.h	Tue Apr 19 18:26:03 2016 -0500
+++ b/UDPSocket.h	Tue Apr 19 18:26:12 2016 -0500
@@ -20,47 +20,86 @@
 #include "Socket.h"
 #include "NetworkInterface.h"
 
-/** UDP Socket
+/** UDP socket
  */
 class UDPSocket : public Socket {
 public:
-    /** UDPSocket lifetime
+    /** Create an uninitialized socket
+     *
+     *  Must call open to initialize the socket on a network stack.
      */
     UDPSocket();
+
+    /** Create a socket on a network stack
+     *
+     *  Creates and opens a socket on the specified network stack.
+     *
+     *  @param iface    Network stack as target for socket
+     */
     UDPSocket(NetworkInterface *iface);
 
-    /** Open the socket
-     *  @param iface    Interface to open socket on
+    /** Opens a socket
+     *
+     *  Creates a network socket on the specified network stack.
+     *  Not needed if stack is passed to the socket's constructor.
+     *
+     *  @param iface    Network stack as target for socket
+     *  @return         0 on success, negative error code on failure
      */
     virtual int open(NetworkInterface *iface);
 
-    /** Send a packet to a remote endpoint
-     *  @param host     The host to connect to. It can either be an IP Address
-     *                  or a hostname that will be resolved with DNS
-     *  @param port     The remote port
-     *  @param data     The packet to be sent
-     *  @param size     The length of the packet to be sent
-     *  @return         The number of written bytes on success, negative on failure
+    /** Send a packet over a UDP socket
+     *
+     *  Sends data to the specified address specified by either a domain name
+     *  or an IP address and port. Returns the number of bytes sent from the
+     *  buffer.
+     *
+     *  By default, sendto blocks until data is sent. If socket is set to
+     *  non-blocking or times out, NSAPI_ERROR_WOULD_BLOCK is returned
+     *  immediately.
+     *
+     *  @param host     Host name of the remote host
+     *  @param port     Port of the remote host
+     *  @param data     Buffer of data to send to the host
+     *  @param size     Size of the buffer in bytes
+     *  @return         Number of sent bytes on success, negative error
+     *                  code on failure
      */
     int sendto(const char *host, uint16_t port, const void *data, unsigned size);
 
-    /** Send a packet to a remote endpoint
-     *  @param address  The remote SocketAddress
-     *  @param data     The packet to be sent
-     *  @param size     The length of the packet to be sent
-     *  @return         The number of written bytes on success, negative on failure
+    /** Send a packet over a UDP socket
+     *
+     *  Sends data to the specified address. Returns the number of bytes
+     *  sent from the buffer.
+     *
+     *  By default, sendto blocks until data is sent. If socket is set to
+     *  non-blocking or times out, NSAPI_ERROR_WOULD_BLOCK is returned
+     *  immediately.
+     *
+     *  @param address  The SocketAddress of the remote host
+     *  @param data     Buffer of data to send to the host
+     *  @param size     Size of the buffer in bytes
+     *  @return         Number of sent bytes on success, negative error
+     *                  code on failure
      */
     int sendto(const SocketAddress &address, const void *data, unsigned size);
 
-    /** Receive a packet from a remote endpoint
-     *  @param address  Destination for the remote SocketAddress or null
-     *  @param buffer   The buffer for storing the incoming packet data
-     *                  If a packet is too long to fit in the supplied buffer,
-     *                  excess bytes are discarded
-     *  @param size     The length of the buffer
-     *  @return         The number of received bytes on success, negative on failure
+    /** Receive a packet over a UDP socket
+     *
+     *  Receives data and stores the source address in address if address
+     *  is not NULL. Returns the number of bytes received into the buffer.
+     *
+     *  By default, recvfrom blocks until data is sent. If socket is set to
+     *  non-blocking or times out, NSAPI_ERROR_WOULD_BLOCK is returned
+     *  immediately.
+     *
+     *  @param address  Destination for the source address or NULL
+     *  @param data     Destination buffer for data received from the host
+     *  @param size     Size of the buffer in bytes
+     *  @return         Number of received bytes on success, negative error
+     *                  code on failure
      */
-    int recvfrom(SocketAddress *address, void *buffer, unsigned size);
+    int recvfrom(SocketAddress *address, void *data, unsigned size);
 };
 
 #endif