From ca6cfe359fa55a5a7f4b6ae73500ffd98e6ee968 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Mon, 18 Nov 2024 01:17:24 -0800 Subject: URL refactor part 1. This eliminates most (but not all) of the dynamic allocations associated with URL objects. A number of convenience fields on the URL are removed, but we are able to use common buffer for most of the details. --- docs/ref/migrate/nng1.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'docs/ref/migrate') diff --git a/docs/ref/migrate/nng1.md b/docs/ref/migrate/nng1.md index b7ddea33..ddad9ff7 100644 --- a/docs/ref/migrate/nng1.md +++ b/docs/ref/migrate/nng1.md @@ -160,11 +160,20 @@ A number of the [statistics][statistic] functions take, or return, `const nng_st of plain `nng_stat *`. The ABI has not changed, but it may be necessary to declare certain methods variables `const` to avoid warnings about misuse of `const`. -## Url Structure Members +## Wildcards Not Valid in URLs + +The use of `*` to act as a wild card meaning all local interface addresses +is removed. The empty string already performs this function, and unlike +`*` is RFC compliant. + +## URL Structure Members The details of [`nng_url`] have changed as follows: - `u_port` is no longer a string, but a `uint16_t` -- `u_scheme` is a const char \* +- `u_scheme` is a `const char *` +- `u_requri` is removed - it can be easily formulated from the other fields. +- `u_host` is removed - use `u_hostname` and `u_port` to construct if needed +- `u_rawurl` is removed - a "cooked" URL can be obtained from the new [`nng_url_sprintf`] function. {{#include ../xref.md}} -- cgit v1.2.3-70-g09d2