From 993a74c191842519ad6c82216fb7a0ee2bb09456 Mon Sep 17 00:00:00 2001 From: Bart Polot Date: Fri, 26 Oct 2012 14:05:59 +0000 Subject: [PATCH 1/1] - add compression length to mesh api announce_regex --- src/include/gnunet_mesh_service.h | 20 ++++++++++++++------ src/mesh/mesh_api.c | 13 ++++++++++--- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/src/include/gnunet_mesh_service.h b/src/include/gnunet_mesh_service.h index 568a05448..b9f0e49c6 100644 --- a/src/include/gnunet_mesh_service.h +++ b/src/include/gnunet_mesh_service.h @@ -227,16 +227,24 @@ typedef void (*GNUNET_MESH_PeerConnectHandler) (void *cls, * Announce to ther peer the availability of services described by the regex, * in order to be reachable to other peers via connect_by_string. * - * Note that the first 8 characters are considered to be part of a prefix, - * (for instance 'gnunet://'). If you put a variable part in there (*, +. ()), - * all matching strings will be stored in the DHT. + * Note that the first GNUNET_REGEX_INITIAL_BYTES characters are considered + * to be part of a prefix, (for instance 'gnunet://'). + * If you put a variable part in there (*, +. ()), all matching strings + * will be stored in the DHT. * - * @param h handle to mesh. - * @param regex string with the regular expression describing local services. + * @param h Handle to mesh. + * @param regex String with the regular expression describing local services. + * @param compression_characters How many characters can be assigned to one + * edge of the graph. The bigger the variability + * of the data, the smaller this parameter should + * be (down to 1). + * For maximum compression, use strlen (regex) + * or 0 (special value). Use with care! */ void GNUNET_MESH_announce_regex (struct GNUNET_MESH_Handle *h, - const char *regex); + const char *regex, + unsigned int compression_characters); /** diff --git a/src/mesh/mesh_api.c b/src/mesh/mesh_api.c index 9a644d83f..9c20b4268 100644 --- a/src/mesh/mesh_api.c +++ b/src/mesh/mesh_api.c @@ -1666,12 +1666,19 @@ GNUNET_MESH_disconnect (struct GNUNET_MESH_Handle *handle) * (for instance 'gnunet://'). If you put a variable part in there (*, +. ()), * all matching strings will be stored in the DHT. * - * @param h handle to mesh. - * @param regex string with the regular expression describing local services. + * @param h Handle to mesh. + * @param regex String with the regular expression describing local services. + * @param compression_characters How many characters can be assigned to one + * edge of the graph. The bigger the variability + * of the data, the smaller this parameter should + * be (down to 1). + * For maximum compression, use strlen (regex) + * or 0 (special value). Use with care! */ void GNUNET_MESH_announce_regex (struct GNUNET_MESH_Handle *h, - const char *regex) + const char *regex, + unsigned int compression_characters) { struct GNUNET_MessageHeader *msg; size_t len; -- 2.25.1