chiark / gitweb /
comm_if: Define the meaning of ->sendmsg returning false
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 28 Jun 2014 13:26:56 +0000 (14:26 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 27 Sep 2014 12:36:50 +0000 (13:36 +0100)
site's transport logic is going to want to know when a failure occurs
which is attributable to the address being unsuitable for the local
network environment (eg v4 address on v6-only host).

Use the boolean return value from sendmsg for that.

At the moment all the callers ignore the return value, and the only
actual sendmsg function always returns true.  This is consistent with
the new semantics.

Therefore, no functional change in this patch.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
secnet.h

index f0ab80b..b01c485 100644 (file)
--- a/secnet.h
+++ b/secnet.h
@@ -338,6 +338,9 @@ typedef void comm_release_notify_fn(void *commst, void *nst,
                                    comm_notify_fn *fn);
 typedef bool_t comm_sendmsg_fn(void *commst, struct buffer_if *buf,
                               const struct comm_addr *dest);
+  /* Only returns false if (we know that) the local network
+   * environment is such that this address cannot work; transient
+   * or unknown/unexpected failures return true. */
 typedef const char *comm_addr_to_string_fn(void *commst,
                                           const struct comm_addr *ca);
         /* Returned string is in a static buffer. */