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>
Thu, 2 Oct 2014 15:30:19 +0000 (16:30 +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 5eeb2132554f8cb8e971eb8075283d6cc45b5244..df5320e7b61886b1c690c8afc02f0807df72ba8e 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. */