User Tools

Site Tools


resource_observe

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
resource_observe [2017/03/28 22:12]
Ben Lloyd Pearson [Sample Application] copyediting
resource_observe [2017/12/18 08:42] (current)
Taehyoung Shim [Sample Application] QueryParamsMqp() "us" -> "use"
Line 6: Line 6:
 The handling of observation registration is application specific. It should not be assumed that a resource is observable, or a resource can handle any specific number of observers. If the server responds with a success (2.xx) code, the registration is considered successful. The handling of observation registration is application specific. It should not be assumed that a resource is observable, or a resource can handle any specific number of observers. If the server responds with a success (2.xx) code, the registration is considered successful.
  
-Notifications from the server to the client may be confirmable or non-confirmable. If the client returns a RST message, the observation registration should be dropped immediately. If the client fails to acknowledge a number of confirmable requests, the server should assume that the client has abandoned the observation and drop the registration.+Notifications from the server to the client may be CON (confirmableor NON (non-confirmable) message. If the client returns a RST (Reset) ​message, the observation registration should be dropped immediately. If the client fails to acknowledge a number of confirmable requests, the server should assume that the client has abandoned the observation and drop the registration.
  
-If the observed resource is removed, the server sends a NOTFOUND ​status to all observers.+If the observed resource is removed, the server sends a NOT FOUND status ​(4.04) ​to all observers.
  
 If an observed resource fails to notify a client before the max-age of a resource value update, the client should attempt to re-register the observation. If an observed resource fails to notify a client before the max-age of a resource value update, the client should attempt to re-register the observation.
Line 15: Line 15:
 {{:​observe.png?​800|}} {{:​observe.png?​800|}}
  
-  - The client application calls resource.observe(...) to retrieve a representation from the resources.+  - The client application calls OCResource.observe(...) to retrieve a representation from the resources.
   - The call is marshalled to the stack which is either running in-process or out-of-process (daemon).   - The call is marshalled to the stack which is either running in-process or out-of-process (daemon).
   - The C API is called to dispatch the request. The call may look like this: <​code>​ OCDoResource(OC_REST_GET | OC_REST_OBSERVE,​ "//​192.168.1.11/​light/​1,​ 0, 0, OC_CONFIRMABLE,​ callback);</​code>​   - The C API is called to dispatch the request. The call may look like this: <​code>​ OCDoResource(OC_REST_GET | OC_REST_OBSERVE,​ "//​192.168.1.11/​light/​1,​ 0, 0, OC_CONFIRMABLE,​ callback);</​code>​
Line 74: Line 74:
 </​code>​ </​code>​
  
-The client specifies how it wants to observe via OBSERVE_TYPE_TO_USE. QueryParamsMap() ​us the map which can have the query parameter name and value. observeHandler is the callback that handles the observation result. qos is specifies the communication quality, e.g. specifying the notification to be confirmable or non-confirmable.+The client specifies how it wants to observe via OBSERVE_TYPE_TO_USE. QueryParamsMap() ​use the map which can have the query parameter name and value. observeHandler is the callback that handles the observation result. qos is specifies the communication quality, e.g. specifying the notification to be confirmable or non-confirmable.
  
 An example of observehandler can look like the following: An example of observehandler can look like the following:
resource_observe.1490739134.txt.gz ยท Last modified: 2017/03/28 22:12 by Ben Lloyd Pearson