@@ -352,12 +352,22 @@ class ReadClient : public Messaging::ExchangeDelegate
352
352
* OnDeallocatePaths. Note: At a given time in the system, you can either have a single subscription with re-sub enabled that
353
353
* has mKeepSubscriptions = false, OR, multiple subs with re-sub enabled with mKeepSubscriptions = true. You shall not
354
354
* have a mix of both simultaneously. If SendAutoResubscribeRequest is called at all, it guarantees that it will call
355
- * OnDeallocatePaths when OnDone is called. SendAutoResubscribeRequest is the only case that calls OnDeallocatePaths, since
356
- * that's the only case when the consumer moved a ReadParams into the client.
355
+ * OnDeallocatePaths (either befor returning error, or when OnDone is called) . SendAutoResubscribeRequest is the only case
356
+ * that calls OnDeallocatePaths, since that 's the only case when the consumer moved a ReadParams into the client.
357
357
*
358
358
*/
359
359
CHIP_ERROR SendAutoResubscribeRequest (ReadPrepareParams && aReadPrepareParams);
360
360
361
+ /* *
362
+ * Like SendAutoResubscribeRequest above, but without a session being
363
+ * available in the ReadPrepareParams. When this is used, the ReadClient is
364
+ * responsible for setting up the CASE session itself.
365
+ *
366
+ * When using this version of SendAutoResubscribeRequest, any session to
367
+ * which ReadPrepareParams has a reference will be ignored.
368
+ */
369
+ CHIP_ERROR SendAutoResubscribeRequest (const ScopedNodeId & aPublisherId, ReadPrepareParams && aReadPrepareParams);
370
+
361
371
/* *
362
372
* This provides a standard re-subscription policy implementation that given a termination cause, does the following:
363
373
* - Calculates the time till next subscription with fibonacci back-off (implemented by ComputeTimeTillNextSubscription()).
@@ -538,6 +548,13 @@ class ReadClient : public Messaging::ExchangeDelegate
538
548
539
549
CHIP_ERROR GetMinEventNumber (const ReadPrepareParams & aReadPrepareParams, Optional<EventNumber> & aEventMin);
540
550
551
+ /* *
552
+ * Start setting up a CASE session to our peer, if we can locate a
553
+ * CASESessionManager. Returns error if we did not even manage to kick off
554
+ * a CASE attempt.
555
+ */
556
+ CHIP_ERROR EstablishSessionToPeer ();
557
+
541
558
Messaging::ExchangeManager * mpExchangeMgr = nullptr ;
542
559
Messaging::ExchangeHolder mExchange ;
543
560
Callback & mpCallback;
0 commit comments