Skip to content

Commit 514c269

Browse files
authored
Merge pull request #59 from core-wg/nits15
Nits (beyond -15)
2 parents f06a085 + 696f426 commit 514c269

File tree

1 file changed

+23
-18
lines changed

1 file changed

+23
-18
lines changed

draft-ietf-core-coap-pubsub.md

+23-18
Original file line numberDiff line numberDiff line change
@@ -37,20 +37,25 @@ normative:
3737
RFC7252:
3838
RFC8288:
3939
RFC8516:
40-
RFC8949:
40+
STD94:
41+
# RFC8949:
4142
RFC9176:
4243
RFC7641:
43-
RFC8126:
44-
RFC6838:
45-
RFC7120:
44+
BCP26:
45+
# RFC8126:
46+
BCP13:
47+
# RFC6838:
48+
BCP100:
49+
# RFC7120:
4650

4751
informative:
4852
RFC8613:
49-
RFC9052:
53+
STD96:
54+
# RFC9052:
55+
# RFC9338:
5056
RFC9147:
5157
RFC9053:
5258
RFC9200:
53-
RFC9338:
5459
RFC9594:
5560
I-D.hartke-t2trg-coral-pubsub:
5661
I-D.ietf-ace-oscore-gm-admin:
@@ -80,7 +85,7 @@ This document applies the idea of broker-based publish-subscribe to Constrained
8085

8186
## Terminology {#terminology}
8287

83-
{::boilerplate bcp14}
88+
{::boilerplate bcp14-tagged-bcp14}
8489

8590
This specification requires readers to be familiar with all the terms and concepts that are discussed in {{RFC8288}} and {{RFC6690}}. Readers should also be familiar with the terms and concepts discussed in {{RFC7252}}, {{RFC9176}} and {{RFC7641}}. The URI template format {{RFC6570}} is used to describe the REST API defined in this specification.
8691

@@ -94,7 +99,7 @@ publishers and subscribers:
9499
: CoAP clients can act as publishers or as subscribers. Publishers send CoAP messages (publications) to the broker on specific topics. Subscribers have an ongoing observation relation (subscription) to a topic. Both roles operate without any mutual knowledge, guided by their respective topic interests.
95100

96101
topic collection:
97-
: A set of topic-configurations. A topic collection is hosted as one collection resource (See Section 3.1 on {{I-D.ietf-core-interfaces}}) at the broker, and its representation is the list of links to the topic resources corresponding to each topic-configuration.
102+
: A set of topic-configurations. A topic collection is hosted as one collection resource (See {{Section 3.1 of I-D.ietf-core-interfaces}}) at the broker, and its representation is the list of links to the topic resources corresponding to each topic-configuration.
98103

99104
topic-configuration:
100105
: A set of information concerning a topic, including its configuration and other metadata. A topic-configuration is hosted as one topic resource at the broker, and its representation is the set of configuration information concerning the topic. All the topic resources associated with the same topic collection share a common base URI, i.e., the URI of the collection resource. Throughout this document the words "topic resource" and "topic-configuration resource" can be used interchangeably.
@@ -221,11 +226,11 @@ The CBOR map includes the following configuration parameters, whose CBOR abbrevi
221226

222227
* 'topic-type': An optional field used to indicate the attribute or property of the topic-data resource for the topic. It encodes the attribute as a CBOR text string. Example attributes include "temperature".
223228

224-
* 'expiration-date': An optional field used to indicate the expiration date of the topic. It encodes the expiration date as a CBOR text string. The value should be a date string as defined in 3.4.1. {{RFC8949}} (e.g., the CBOR encoded version of "2023-03-31T23:59:59Z"). If this field is not present, the topic will not expire automatically.
229+
* 'expiration-date': An optional field used to indicate the expiration date of the topic. It encodes the expiration date as a CBOR text string. The value should be a date string as defined in {{Section 3.4.1 of RFC8949@STD94}} (e.g., the CBOR encoded version of "2023-03-31T23:59:59Z"). If this field is not present, the topic will not expire automatically.
225230

226231
* 'max-subscribers': An optional field used to indicate the maximum number of simultaneous subscribers allowed for the topic. It encodes the maximum number as an unsigned CBOR integer. If this field is not present or if the field is empty, then there is no limit to the number of simultaneous subscribers allowed. The broker can use this field to limit the number of subscribers for the topic.
227232

228-
* 'observer-check': An optional field that controls the maximum number of seconds between two consecutive Observe notifications sent as Confirmable messages to each topic subscriber (see Section {{unsubscribe}}). Encoded as a CBOR unsigned integer greater than 0, it ensures subscribers who have lost interest and silently forgotten the observation do not remain indefinitely on the server's observer list. If another CoAP server hosts the topic-data resource, that server is responsible for applying the observer-check value. The default value for this field is 86400, as defined in {{RFC7641}}, which corresponds to 24 hours.
233+
* 'observer-check': An optional field that controls the maximum number of seconds between two consecutive Observe notifications sent as Confirmable messages to each topic subscriber (see {{unsubscribe}}). Encoded as a CBOR unsigned integer greater than 0, it ensures subscribers who have lost interest and silently forgotten the observation do not remain indefinitely on the server's observer list. If another CoAP server hosts the topic-data resource, that server is responsible for applying the observer-check value. The default value for this field is 86400, as defined in {{RFC7641}}, which corresponds to 24 hours.
229234

230235
* 'topic-history': An optional field used to indicate how many previous resource representations the broker shall store for a topic. Encoded as an unsigned CBOR integer, it defines a counter representing the number of historical resource states the broker retains. This enables subscribers to retrieve past states of the topic data when necessary, useful in scenarios where historical context is required (e.g., for data analytics or auditing). If this field is not present, no historical data will be stored.
231236

@@ -515,7 +520,7 @@ response is cbor
515520

516521
A client can read the configuration of a topic by making a FETCH request to the topic resource URI with a filter for specific parameters. This is done in order to retrieve part of the current topic resource.
517522

518-
The request contains a CBOR map with a configuration filter or 'conf-filter', a CBOR array of configuration parameters, as defined in Section {{pubsub-parameters}}. Each element of the array specifies one requested configuration parameter of the current topic resource (see {{topic-resource-representation}}).
523+
The request contains a CBOR map with a configuration filter or 'conf-filter', a CBOR array of configuration parameters, as defined in {{pubsub-parameters}}. Each element of the array specifies one requested configuration parameter of the current topic resource (see {{topic-resource-representation}}).
519524

520525
On success, the broker returns a 2.05 (Content) response with a representation of the topic resource. The response has as payload the partial representation of the topic resource as specified in {{topic-resource-representation}}.
521526

@@ -867,7 +872,7 @@ Example of a successful subscription followed by one update:
867872

868873
### Unsubscribe {#unsubscribe}
869874

870-
A CoAP client can unsubscribe simply by cancelling the observation as described in {{Section 3.6 of RFC7641}}. The client MUST either use CoAP GET with the Observe Option set to 1 or send a CoAP Reset message in response to a notification. Also on {{Section 3.6 of RFC7641}} the client can simply "forget" the observation and the broker will remove it from the list of observers after the next notification.
875+
A CoAP client can unsubscribe simply by canceling the observation as described in {{Section 3.6 of RFC7641}}. The client MUST either use CoAP GET with the Observe Option set to 1 or send a CoAP Reset message in response to a notification. Also on {{Section 3.6 of RFC7641}} the client can simply "forget" the observation and the broker will remove it from the list of observers after the next notification.
871876

872877
As per {{RFC7641}} a server that transmits notifications mostly in non-confirmable messages, but it MUST send a notification in a confirmable message instead of a non-confirmable message at least every 24 hours.
873878

@@ -990,7 +995,7 @@ The architecture presented in this document inherits the security considerations
990995

991996
Communications between each client and the broker are RECOMMENDED to be secured, e.g., by using OSCORE {{RFC8613}} or DTLS {{RFC9147}}. Security considerations for the used secure communication protocols apply too.
992997

993-
The content published on a topic by a publisher client SHOULD be protected end-to-end between the publisher and all the subscribers to that topic. In such a case, it MUST be possible to assert source authentication of the published data. This can be achieved at the application layer, e.g., by using COSE {{RFC9052}}, {{RFC9053}}, {{RFC9338}}.
998+
The content published on a topic by a publisher client SHOULD be protected end-to-end between the publisher and all the subscribers to that topic. In such a case, it MUST be possible to assert source authentication of the published data. This can be achieved at the application layer, e.g., by using COSE {{STD96}}, {{RFC9053}}.
994999

9951000
Access control of clients at the broker MAY be enforced for performing discovery operation, and SHOULD be enforced in a fine-grained fashion for operations related to the creation, update, and deletion of topic resources, as well as for operations on topic-data resources such as publication on and subscription to topics. This prevents rogue clients to, among other things, repeatedly create topics at the broker or publish (large) contents, which may result in Denial of Service against the broker and the active subscribers.
9961001

@@ -1012,7 +1017,7 @@ Note to RFC Editor: Please replace all occurrences of "{{&SELF}}" with the RFC n
10121017

10131018
## Media Type Registrations {#media-type}
10141019

1015-
This specification registers the 'application/core-pubsub+cbor' media type for messages of the protocols defined in this document and carrying parameters encoded in CBOR. This registration follows the procedures specified in {{RFC6838}}.
1020+
This specification registers the 'application/core-pubsub+cbor' media type for messages of the protocols defined in this document and carrying parameters encoded in CBOR. This registration follows the procedures specified in {{BCP13}}.
10161021

10171022
Type name: application
10181023

@@ -1085,15 +1090,15 @@ Reference: [RFC-XXXX]
10851090

10861091
This specification establishes the "CoAP Pubsub topic-configuration Parameters" IANA subregistry within the "Constrained RESTful Environments (CoRE) Parameters" registry group.
10871092

1088-
The registration policy is either "Private Use", "Standards Action with Expert Review", or "Specification Required" or "Expert Review" per {{RFC8126}}. "Expert Review" guidelines are provided in {{review}}.
1093+
The registration policy is either "Private Use", "Standards Action with Expert Review", or "Specification Required" or "Expert Review" per {{BCP26}}. "Expert Review" guidelines are provided in {{review}}.
10891094

1090-
All assignments according to "Standards Action with Expert Review" are made on a "Standards Action" basis per Section 4.9 of {{RFC8126}} with "Expert Review" additionally required per Section 4.5 of {{RFC8126}}. The procedure for early IANA allocation of "standards track code points" defined in {{RFC7120}} also applies. When such a procedure is used, IANA will ask the designated expert(s) to approve the early allocation before registration. In addition, working group chairs are encouraged to consult the expert(s) early during the process outlined in Section 3.1 of {{RFC7120}}.
1095+
All assignments according to "Standards Action with Expert Review" are made on a "Standards Action" basis per {{Section 4.9 of RFC8126@BCP26}} with "Expert Review" additionally required per {{Section 4.5 of RFC8126@BCP26}}. The procedure for early IANA allocation of "standards track code points" defined in {{BCP100}} also applies. When such a procedure is used, IANA will ask the designated expert(s) to approve the early allocation before registration. In addition, working group chairs are encouraged to consult the expert(s) early during the process outlined in {{Section 3.1 of RFC7120@BCP100}}.
10911096

10921097
The columns of this registry are:
10931098

10941099
* Name: This is a descriptive name that enables easier reference to the item. The name MUST be unique. It is not used in the encoding.
10951100

1096-
* CBOR Key: This is the value used as the CBOR key of the item. These values MUST be unique. The value can be a positive integer, a negative integer, or a text string. Different ranges of values use different registration policies {{RFC8126}}. Integer values from -256 to 255 as well as text strings of length 1 are designated as "Standards Action With Expert Review". Integer values from -65536 to -257 and from 256 to 65535, as well as text strings of length 2 are designated as "Specification Required". Integer values greater than 65535 as well as text strings of length greater than 2 are designated as "Expert Review". Integer values less than -65536 are marked as "Private Use".
1101+
* CBOR Key: This is the value used as the CBOR key of the item. These values MUST be unique. The value can be a positive integer, a negative integer, or a text string. Different ranges of values use different registration policies {{BCP26}}. Integer values from -256 to 255 as well as text strings of length 1 are designated as "Standards Action With Expert Review". Integer values from -65536 to -257 and from 256 to 65535, as well as text strings of length 2 are designated as "Specification Required". Integer values greater than 65535 as well as text strings of length greater than 2 are designated as "Expert Review". Integer values less than -65536 are marked as "Private Use".
10971102

10981103
* CBOR Type: This contains the CBOR type of the item, or a pointer to the registry that defines its type, when that depends on another item.
10991104

@@ -1135,7 +1140,7 @@ Expert reviewers should take into consideration the following points:
11351140
* Code bug fix https://github.com/jaimejim/aiocoap-pubsub-broker/commit/f32ce4866a81319238d6e905de439c9410cce175
11361141
* Added two new optional topic configuration parameters; ‘initialize,’ and ‘topic-history’.
11371142
* Modified all examples to conform to RFC9594.
1138-
* Added the explicit cancelation of ongoing subscriptions when topic configuration parameters are changed.
1143+
* Added the explicit cancellation of ongoing subscriptions when topic configuration parameters are changed.
11391144
* Added editorial changes based on feedback.
11401145
* Clarifications on Topic Configuration creation.
11411146
* Other editorial changes

0 commit comments

Comments
 (0)