Skip to content

Commit

Permalink
Merge pull request #222 from stevenhartley/ue-instance-id
Browse files Browse the repository at this point in the history
URI ue instance id wildcard 0xFFFF in lieu of 0x0000
  • Loading branch information
Steven Hartley authored Aug 9, 2024
2 parents e40a9d4 + 581291f commit ee92ef7
Showing 1 changed file with 11 additions and 11 deletions.
22 changes: 11 additions & 11 deletions basics/uri.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -277,10 +277,10 @@ impl UUri {
A UUri can be used to define a _pattern_ that other UUris can then be matched against.
For that purpose, a UUri

* *MAY* have its `authority_name` set to the `*` (`U+002A`, Asterisk) character in order to match _any_ (including _no_) authority,
* *MAY* have the _service ID_ part of its `ue_id` set to `0xFFFF` in order to match _any_ type,
* *MAY* have the _service instance ID_ part of its `ue_id` set to `0x0000` in order to match _any_ instance,
* *MAY* have its `ue_version_major` set to `0xFF` in order to match _any_ version,
* *MAY* have its `authority_name` set to the `*` (`U+002A`, Asterisk) character in order to match _any_ (including _no_) authority.
* *MAY* have the _service ID_ part of its `ue_id` set to `0xFFFF` in order to match _any_ service type.
* *MAY* have the _service instance ID_ part of its `ue_id` set to `0xFFFF` in order to match _any_ service instance. `0x0000` is the default instance ID used when there is only a single instance of a service.
* *MAY* have its `ue_version_major` set to `0xFF` in order to match _any_ version.
* *MAY* have its `resource_id` set to `0xFFFF` in order to match _any_ resource.

A _candidate_ UUri _matches_ a particular _pattern_ UUri if all of the candidate UUri's properties match the pattern UUri's corresponding properties according to the rules defined by the predicates below.
Expand All @@ -302,7 +302,7 @@ def: matches_entity_type(candidate : UUri) : Boolean =
self.service_type() = candidate.service_type()
def: matches_entity_instance(candidate : UUri) : Boolean =
self.service_instance() = 0x0000_0000
self.service_instance() = 0xFFFF_0000
or
self.service_instance() = candidate.service_instance()
Expand All @@ -312,9 +312,9 @@ def: matches_entity_version(candidate : UUri) : Boolean =
self.ue_version_major = candidate.ue_version_major
def: matches_resource(candidate : UUri) : Boolean =
self.instance_id = 0xFFFF
self.resource_id = 0xFFFF
or
self.instance_id = candidate.instance_id
self.resource_id = candidate.resource_id
def: matches(candidate : UUri) : Boolean =
self.matches_authority(candidate)
Expand All @@ -341,7 +341,7 @@ The following pattern UUri
----
UUri {
authority_name: "192.168.1.100",
ue_id: 0x0000_FFFF // any instance, any service
ue_id: 0xFFFF_FFFF // any instance, any service
ue_version_major: 0xFF, // any
resource_id: 0xFFFF // any
}
Expand Down Expand Up @@ -371,7 +371,7 @@ The following pattern UUri
----
UUri {
authority_name: "*", // any
ue_id: 0x0000_0000, // any instance of service 0x0000
ue_id: 0xFFFF_0000, // any instance of service 0x0000
ue_version_major: 0x03,
resource_id: 0xFFFF // any
}
Expand Down Expand Up @@ -400,7 +400,7 @@ The following pattern UUri
----
UUri {
authority_name: "", // local
ue_id: 0x0000_0000, // any instance of service 0x0000
ue_id: 0x0000_0000, // default instance of service 0x0000
ue_version_major: 0xFF, // any
resource_id: 0x0001
}
Expand All @@ -417,7 +417,7 @@ But not these:
[example]
----
//vcu.other.device/0/3/1 // non-local authority
/1/3/3 // wrong resource
/0/3/3 // wrong resource
----

== Best Practices
Expand Down

0 comments on commit ee92ef7

Please sign in to comment.