From: Inga Stotland <inga.stotland@intel.com>
To: linux-bluetooth@vger.kernel.org
Cc: brian.gix@intel.com, Inga Stotland <inga.stotland@intel.com>
Subject: [PATCH BlueZ 1/4] doc/mesh-api: Add "options" dictionary to Send/Publish
Date: Sun, 23 Aug 2020 20:54:12 -0700 [thread overview]
Message-ID: <20200824035415.13420-2-inga.stotland@intel.com> (raw)
In-Reply-To: <20200824035415.13420-1-inga.stotland@intel.com>
This modifies Send, DevKeySend, Publish & VendorPublish methods
on mesh.Node interface to include additional argument "options".
This new argument is a dictionary that currently has only one
new key word defined:
"ForceSegmented" - to force small payloads to be sent as
one-segment messages
Other key words may be defined in future to accommodate evolving
requirements of Mesh Profile specification.
---
doc/mesh-api.txt | 47 +++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 43 insertions(+), 4 deletions(-)
diff --git a/doc/mesh-api.txt b/doc/mesh-api.txt
index 495f95b0b..f836142a7 100644
--- a/doc/mesh-api.txt
+++ b/doc/mesh-api.txt
@@ -229,7 +229,7 @@ Object path /org/bluez/mesh/node<uuid>
Methods:
void Send(object element_path, uint16 destination, uint16 key_index,
- array{byte} data)
+ dict options, array{byte} data)
This method is used to send a message originated by a local
model.
@@ -248,6 +248,14 @@ Methods:
this element. Otherwise, org.bluez.mesh.Error.NotAuthorized will
be returned.
+ The options parameter is a dictionary with the following keys
+ defined:
+
+ bool ForceSegmented
+ Specifies whether to force sending of a short
+ message as one-segment payload. If not present,
+ the default setting is "false".
+
The data parameter is an outgoing message to be encypted by the
bluetooth-meshd daemon and sent on.
@@ -257,7 +265,7 @@ Methods:
org.bluez.mesh.Error.NotFound
void DevKeySend(object element_path, uint16 destination, boolean remote,
- uint16 net_index, array{byte} data)
+ uint16 net_index, dict options, array{byte} data)
This method is used to send a message originated by a local
model encoded with the device key of the remote node.
@@ -279,6 +287,14 @@ Methods:
The net_index parameter is the subnet index of the network on
which the message is to be sent.
+ The options parameter is a dictionary with the following keys
+ defined:
+
+ bool ForceSegmented
+ Specifies whether to force sending of a short
+ message as one-segment payload. If not present,
+ the default setting is "false".
+
The data parameter is an outgoing message to be encypted by the
meshd daemon and sent on.
@@ -344,7 +360,8 @@ Methods:
org.bluez.mesh.Error.InvalidArguments
org.bluez.mesh.Error.NotFound
- void Publish(object element_path, uint16 model, array{byte} data)
+ void Publish(object element_path, uint16 model, dict options,
+ array{byte} data)
This method is used to send a publication originated by a local
model. If the model does not exist, or it has no publication
@@ -358,6 +375,17 @@ Methods:
The model parameter contains a model ID, as defined by the
Bluetooth SIG.
+ The options parameter is a dictionary with the following keys
+ defined:
+
+ bool ForceSegmented
+ Specifies whether to force sending of a short
+ message as one-segment payload. If not present,
+ the default setting is "false".
+
+ The data parameter is an outgoing message to be encypted by the
+ meshd daemon and sent on.
+
Since only one Publish record may exist per element-model, the
destination and key_index are obtained from the Publication
record cached by the daemon.
@@ -367,7 +395,7 @@ Methods:
org.bluez.mesh.Error.InvalidArguments
void VendorPublish(object element_path, uint16 vendor, uint16 model_id,
- array{byte} data)
+ dict options, array{byte} data)
This method is used to send a publication originated by a local
vendor model. If the model does not exist, or it has no
@@ -383,6 +411,17 @@ Methods:
The model_id parameter is a 16-bit vendor-assigned Model
Identifier.
+ The options parameter is a dictionary with the following keys
+ defined:
+
+ bool ForceSegmented
+ Specifies whether to force sending of a short
+ message as one-segment payload. If not present,
+ the default setting is "false".
+
+ The data parameter is an outgoing message to be encypted by the
+ meshd daemon and sent on.
+
Since only one Publish record may exist per element-model, the
destination and key_index are obtained from the Publication
record cached by the daemon.
--
2.26.2
next prev parent reply other threads:[~2020-08-24 3:54 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-24 3:54 [PATCH BlueZ 0/4] Mesh send/publish API change Inga Stotland
2020-08-24 3:54 ` Inga Stotland [this message]
2020-08-24 4:27 ` [BlueZ,1/4] doc/mesh-api: Add "options" dictionary to Send/Publish bluez.test.bot
2020-08-24 15:04 ` [PATCH BlueZ 1/4] " Gix, Brian
2020-08-24 3:54 ` [PATCH BlueZ 2/4] mesh: Handle "options" dictionary in Send/Publish methods Inga Stotland
2020-08-24 3:54 ` [PATCH BlueZ 3/4] tools/mesh-cfglient: Add "options" to Send/DevKeySend Inga Stotland
2020-08-24 3:54 ` [PATCH BlueZ 4/4] test/test-mesh: Add "options" to Send/Publish Inga Stotland
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200824035415.13420-2-inga.stotland@intel.com \
--to=inga.stotland@intel.com \
--cc=brian.gix@intel.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).