Meta tags:
Headings (most frequently used words):
public, protected, functions, attributes, timesyncnode, types, static, nl, weave, profiles, time, summary, inheritance, constructors, and, destructors, mboottimefornextautodiscovery_usec, misautosyncenabled, misurgentdiscoverypending, mnominaldiscoveryperiod_msec, mshortestdiscoveryperiod_msec, msyncperiod_msec, mactivecontact, mexchangecontext, munadjtimestamplastsent_usec, enterstate_discover, enterstate_servicesync_1, enterstate_servicesync_2, enterstate_sync_1, enterstate_sync_2, clientstate, commstate, contributorfilter, onsyncrequestreceivedhandler, responsestatus, serverstate, syncfailedhandler, syncsucceededhandler, timechangenotificationhandler, filtertimecorrectioncontributor, onsyncfailed, onsyncrequestreceived, onsyncsucceeded, ontimechangenotificationreceived, mencryptiontype, mkeyid, mapp, mclientstate, mconnectiontoservice, mcontacts, misalwaysfresh, misincallback, mlastlikelihoodsent, mnumcontributorinlastlocalsync, mrole, mserverstate, mservicecontact, mtimestamplastcorrectionfromserverorntp_usec, mtimestamplastlocalsync_usec, abort, disableautosync, enableautosync, getcapacityofcontactlist, getclientstate, getnextlikelihood, getserverstate, initclient, initcoordinator, initserver, multicasttimechangenotification, registercorrectionfromserverorntp, registerlocalsyncoperation, shutdown, sync, syncwithnodes, syncwithservice, abortonerror, autosyncnow, callbackforsynccompletion, clearstate, destroycommcontext, endlocalsyncandtrycalculatetimefix, endservicesyncandtrycalculatetimefix, findreplaceablecontact, getclientstatename, getnextidlecontact, getnumnotyetcompletedcontacts, getnumreliableresponses, initstate, invalidateallcontacts, invalidateservicecontact, registercommerror, sendsyncrequest, setallcompletedcontactstoidle, setallvalidcontactstoidleandinvalidateresponse, setclientstate, setupunicastcommcontext, storenotifyingcontact, updatemulticastsyncresponse, updateunicastsyncresponse, _initclient, _initserver, _shutdownclient, _shutdowncoordinator, _shutdownserver, handleautodiscoverytimeout, handleautosynctimeout, handlemulticastresponsetimeout, handlemulticastsyncresponse, handlesyncrequest, handletimechangenotification, handleunicastresponsetimeout, handleunicastsyncresponse, handleunreliableafterboottimer, isoperationalstate, _onsyncsucceeded, github, support,
Text of the page (most frequently used words):
const (174), void (154), the (112), overview (105), classes (64), sync (54), for (47), time (47), bool (46), #contact (42), weave_error (40), and (37), layer (35), state (33), uint8_t (30), not (30), this (26), weave (26), aapp (25), available (25), details (24), used (24), callback (24), system (22), callbacks (22), set (22), server (21), parser (21), returns (20), builder (19), communication (18), int32_t (18), parameters (17), error (17), contacts (17), auto (17), structs (17), timesync_t (16), weave_no_error (16), response (16), exchangecontext (15), success (15), discovery (15), called (15), number (15), acontact (14), idle (14), would (14), higher (14), from (13), request (13), indicate (13), pointer (13), anumcontributor (12), true (12), clientstate (12), weavemessageinfo (12), functions (12), public (12), akeyid (12), aencryptiontype (12), just (12), that (12), ineventparam (12), client (11), responses (11), aexchangemgr (11), outeventparam (11), after (10), has (10), initialize (10), role (10), uint16_t (10), all (10), local (10), int16_t (10), information (9), before (9), packetbuffer (9), ippacketinfo (9), exchange (9), stop (9), init (9), key (9), anodeaddr (9), ipaddress (9), anodeid (9), weaveexchangemanager (9), data (9), requests (8), thumb (8), are (8), aerror (8), aappstate (8), asystemlayer (8), payload (8), msgtype (8), profileid (8), uint32_t (8), msginfo (8), pktinfo (8), return (8), encryption (8), int8_t (8), uint64_t (8), node (8), notification (8), valid (8), talk (8), service (8), when (7), coordinator (7), could (7), shall (7), aisalwaysfresh (7), must (7), likelihood (7), back (7), store (7), between (7), internal (7), connection (7), tcp (7), only (7), serverstate (7), happens (7), note (7), reference (7), platform (7), need (6), down (6), profiles (6), given (6), boot (6), protected (6), ainitiallikelyhood (6), unicast (6), change (6), but (6), certain (6), have (6), get (6), abort (6), timesyncnode (6), using (6), operation (6), with (6), object (6), msec (6), ashortestdiscoveryperiod_msec (6), anominaldiscoveryperiod_msec (6), asyncperiod_msec (6), simple (6), getter (6), received (6), correction (6), other (5), code (5), except (5), aisserver (5), aisreliable (5), aoffsetusec (5), completed (5), false (5), process (5), mclientstate (5), timesyncresponse (5), them (5), one (5), can (5), reliable (5), application (5), function (5), weaveconnection (5), current (5), engine (5), timechangenotificationhandler (5), syncsucceededhandler (5), onsyncrequestreceivedhandler (5), syncfailedhandler (5), contributorfilter (5), app (5), considered (5), including (5), status (5), typedef (5), português (4), español (4), otherwise (4), shutdown (4), determine (4), timer (4), unreliable (4), always (4), initial (4), type (4), coming (4), aresponse (4), multicast (4), rismessagesent (4), shorten (4), period (4), invalidate (4), timesyncrole (4), next (4), acode (4), context (4), array (4), anodes (4), existing (4), aforcediscoveragain (4), any (4), finished (4), round (4), some (4), means (4), observed (4), result (4), onsyncsucceeded (4), onsyncfailed (4), int (4), compensation (4), sleep (4), attributes (4), default (4), results (4), enum (4), unions (4), feature (3), happy (3), openweave (3), github (3), out (3), content (3), under (3), license (3), _onsyncsucceeded (3), astate (3), method (3), whether (3), operational (3), isoperationalstate (3), handleunreliableafterboottimer (3), handleunicastsyncresponse (3), handleunicastresponsetimeout (3), handletimechangenotification (3), handlesyncrequest (3), handlemulticastsyncresponse (3), handlemulticastresponsetimeout (3), handleautosynctimeout (3), handleautodiscoverytimeout (3), _shutdownserver (3), _shutdowncoordinator (3), _shutdownclient (3), family (3), _initserver (3), _initclient (3), updateunicastsyncresponse (3), updatemulticastsyncresponse (3), sent (3), storenotifyingcontact (3), new (3), setupunicastcommcontext (3), setclientstate (3), setallvalidcontactstoidleandinvalidateresponse (3), setallcompletedcontactstoidle (3), been (3), like (3), address (3), send (3), sendsyncrequest (3), registercommerror (3), invalidateservicecontact (3), invalidateallcontacts (3), arole (3), initstate (3), collected (3), getnumreliableresponses (3), getnumnotyetcompletedcontacts (3), getnextidlecontact (3), getclientstatename (3), findreplaceablecontact (3), endservicesyncandtrycalculatetimefix (3), endlocalsyncandtrycalculatetimefix (3), destroycommcontext (3), clearstate (3), aissuccessful (3), induce (3), callbackforsynccompletion (3), kick (3), off (3), autosyncnow (3), abortonerror (3), aconnection (3), syncwithservice (3), anumnode (3), list (3), servingnode (3), syncwithnodes (3), force (3), resources (3), call (3), which (3), coordinators (3), registerlocalsyncoperation (3), either (3), through (3), registercorrectionfromserverorntp (3), multicasttimechangenotification (3), wide (3), manager (3), initserver (3), syncing (3), initcoordinator (3), initclient (3), getserverstate (3), getnextlikelihood (3), getclientstate (3), getcapacityofcontactlist (3), right (3), enableautosync (3), disableautosync (3), failure (3), mtimestamplastlocalsync_usec (3), mtimestamplastcorrectionfromserverorntp_usec (3), mservicecontact (3), mserverstate (3), mrole (3), mnumcontributorinlastlocalsync (3), mlastlikelihoodsent (3), misincallback (3), misalwaysfresh (3), mcontacts (3), mconnectiontoservice (3), mapp (3), mkeyid (3), mencryptiontype (3), ontimechangenotificationreceived (3), onsyncrequestreceived (3), filtertimecorrectioncontributor (3), case (3), ignored (3), successful (3), aerrorcode (3), responsestatus (3), aistimecoordinator (3), alikelyhood (3), amsginfo (3), asize (3), commstate (3), enterstate_sync_2 (3), enterstate_sync_1 (3), enterstate_servicesync_2 (3), enterstate_servicesync_1 (3), transition (3), enterstate_discover (3), munadjtimestamplastsent_usec (3), mexchangecontext (3), mactivecontact (3), msyncperiod_msec (3), mshortestdiscoveryperiod_msec (3), mnominaldiscoveryperiod_msec (3), misurgentdiscoverypending (3), misautosyncenabled (3), mboottimefornextautodiscovery_usec (3), security (3), provisioning (3), 한국어 (2), 日本語 (2), ภาษาไทย (2), বাংলা (2), हिंदी (2), فارسی (2), العربيّة (2), עברית (2), русский (2), türkçe (2), tiếng (2), việt (2), brasil (2), polski (2), italiano (2), indonesia (2), français (2), américa (2), latina (2), deutsch (2), english (2), stack (2), google (2), support (2), openthread (2), too (2), samples (2), last (2), updated (2), 2020 (2), utc (2), noted (2), licensed (2), java (2), its (2), related (2), initialization (2), passed (2), barrier (2), arrives (2), static (2), synced (2), intended (2), internally (2), stage (2), who (2), create (2), clear (2), reset (2), again (2), don (2), touch (2), caller (2), register (2), needed (2), null (2), hence (2), far (2), haven (2), yet (2), char (2), slot (2), aistimechangenotification (2), close (2), adifftime_usec (2), asystemtimestamp_usec (2), aisfromserver (2), aiscorrectionreliable (2), ashouldupdate (2), session (2), take (2), top (2), associated (2), records (2), flushed (2), there (2), another (2), matter (2), playing (2), contributed (2), ntp (2), first (2), construction (2), intention (2), shortest (2), extract (2), persistent (2), maximum (2), configured (2), enable (2), disable (2), aborting (2), anything (2), doing (2), actual (2), learned (2), throughout (2), weave_config_time_client_max_num_contacts (2), behavior (2), taking (2), very (2), small (2), corrections (2), implementation (2), requesting (2), normal (2), doesn (2), overwrite (2), mresponsestatus (2), kresponsestatus_invalid (2), calculation (2), applied (2), failed (2), kserverstate_unreliableafterboot (2), kserverstate_idle (2), because (2), stored (2), about (2), calculate (2), types (2), these (2), cannot (2), previous (2), way (2), handle (2), states (2), _timesyncnodebase (2), weavedevicemanager (2), weavedevicedescriptor (2), networkinfo (2), identifydevicecriteria (2), devicemanager (2), weavesecuritysupport (2), weavekeyid (2), weavecertificatesupport (2), passcodeencryptionsupport (2), hkdf (2), nestlabs (2), namespaces (2), schema (2), stats (2), devicedescription (2), warm (2), root (2), deviceca (2), inetlayer (2), passive (2), rendezvous (2), serviceprovisioningserver (2), networkprovisioningserver (2), fabricprovisioningserver (2), weaveechoserver (2), weaveechoclient (2), devicedescriptionserver (2), devicecontrolserver (2), binding (2), transfererror (2), sendreject (2), sendinit (2), sendaccept (2), receivereject (2), receiveinit (2), receiveaccept (2), blocksend (2), blockquery (2), blockeofack (2), blockeof (2), blockack (2), documents (2), guides (2), manage, cookies, privacy, terms, overflow, groups, bug, easy, understand, easytounderstand, solved, problem, solvedmyproblem, otherup, missing, missingtheinformationineed, complicated, many, steps, toocomplicatedtoomanysteps, date, outofdate, issue, samplescodeissue, otherdown, tell, more, page, see, registered, trademark, oracle, affiliates, marks, trademarks, thread, group, developers, site, policies, apache, creative, commons, attribution, falls, started, evaluated, convenience, denotes, shutting, start, contacting, two, rounds, same, will, message, errors, reachable, returned, check, both, enough, ownership, finishes, overwritten, created, performed, fail, immediately, properly, reclaim, allocated, made, smallest, ktimesyncrole_client, ktimesyncrole_coordinator, within, transient, might, rather, than, away, exchanges, closed, connections, touched, further, already, mode, enabled, scheduled, shortly, automatically, choose, directly, restricted, rule, however, special, still, offset, adjust, value, nodes, does, come, built, logic, amount, usec, mean, applicable, was, reason, happen, reserved, meaningful, ready, respond, settings, properties, ignore, originating, requested, originator, containing, sender, eventually, timeout, even, fails, trick, hang, wrong, constructors, destructors, inherits, inheritance, summary, save, categorize, based, your, preferences, stay, organized, collections, feedback, wifisecuritytype, wifirole, wifimode, weavestack, weavedevicemanagerexception, completionhandler, weavedeviceexception, testfailedexception, testmain, targetfabricid, targetdevicemodes, resetflags, rendezvousmode, pairingcodeutils, nevispairingcodedecoding, networktype, getnetworkflags, failsafearmmode, devicefeatures, weavesecuritysupportexception, weavekeyexportsupport, weavekeyexportclient, constituentkeysource, applicationkeysupport, applicationgroupglobalid, com, bluetoothprofile, bluetoothgattservice, bluetoothgattdescriptor, bluetoothgattcharacteristic, bluetoothgattcallback, bluetoothgatt, android, bluetooth, managed, assignment, pages, auth, trait, thermostat, vendor, locale, viewresponse, viewrequest, common, bdxprotocol, persistedstorage, logging, littleendian, bigendian, encoding, factoryprovisioningdata, deviceeventtype, pairingcode, production, development, nestcerts, token, pairing, remote, network, fabric, device, control, modules, applicationkeystraitdatasink, applicationkeystrait, modulestate, actionentry, warmfabricstatedelegate, findpredicatecontext, findcontext, utilities, dumpcontext, debug, weavecirculartlvbuffer, tlvwriter, tlvupdater, tlvreader, circulartlvwriter, circulartlvreader, tlv, snapshot, objectarena, lwipevent, mutex, lwipeventhandlerdelegate, profilestringinfo, profilestringcontext, weavekeyexportsupportnative, weavekeyexportclientnative, pairingcodesupport, securitysupport, weavetunnelroute, weavetunnelheader, weavetunnelcontrol, weavetunnelconnectionmgr, weavetunnelagent, reconnectparam, weavetunnel, dropcamlegacypairingserver, dropcamlegacypairingdelegate, dropcamlegacypairing, tokenpairingserver, tokenpairingdelegate, tokenpairing, utcoffsetrecord, timezoneutcoffset, timesyncrequest, timechangenotification, singlesourcetimesyncclient, statusreport, statusreporting, weaveimageannounceserver, updateschemelist, productspec, iweaveimageannounceserverdelegate, integritytypelist, integrityspec, imagequeryresponse, imagequery, imageannounce, softwareupdate, updateservicemessage, serviceprovisioningdelegate, registerservicepairaccountmessage, pairdevicetoaccountmessage, ifjservicefabricjoinmessage, serviceprovisioning, serviceconnectbeginargs, connectrequest, weaveservicemanager, servicedirectory, weavetaketokenauthdelegate, weavetakeengine, weavetakechallengerauthdelegate, encryptedpasscodestruct, passcodes, weavepaseengine, pase, weavestandalonekeyexportclient, weavekeyexportdelegate, weavekeyexport, __final, keyexport, weavenodeopauthdelegate, weavenodemfrattestdelegate, weavecertprovengine, certprovisioning, weavecaseengine, weavecaseauthdelegate, reconfigurecontext, beginsessionresponsecontext, beginsessionrequestcontext, beginsessioncontext, weavegroupkey, groupkeystorebase, dummygroupkeystore, appkeys, weavesignaturegeneratorbase, weavesignaturegenerator, weaveprovisioningbundle, weavedn, weavecertificateset, weavecertificatedata, validationcontext, certificatekeyid, wirelessregdomain, wirelessregconfig, networkprovisioningdelegate, networkprovisioning, weaveheartbeatsender, weaveheartbeatreceiver, heartbeat, fabricprovisioningdelegate, fabricprovisioning, echo_next, textdescriptorwriter, textdescriptorreader, identifyresponsemessage, identifyrequestmessage, devicedescriptionclient, devicecontroldelegate, devicecontrol, publisherdatamanager, dmtransaction, protocolengine, profiledata, profiledatabase, dmpublisher, dmclient, subscription, clientnotifier, clientdatamanager, datamanagement_legacy, versionlist, updateresponse, updaterequest, subscriberesponse, subscriberequest, subscribeconfirmrequest, subscribecancelrequest, statuslist, statuselement, rejectionrecordlist, rejectionrecord, pathlist, path, notificationrequest, eventlist, event, datalist, dataelement, customcommandresponse, customcommand, basemessagewithsubscribeid, timestamp, versionedtraitpath, record, traitpathstore, traitpath, schemaversionrange, reclaimeventctx, logstorageresources, externalevents, eventschema, eventoptions, eventloadoutcontext, eventenvelopecontext, detailedrootsection, debuglogcontext, copyandadjustdeltatimecontext, constschemaversionrange, circulareventbuffer, eventparam, viewclient, updateencoder, updatedirtypathfilter, updatedictionarydirtypathcut, updateclient, traitupdatabledatasink, propertyinfo, isetdatadelegate, igetdatadelegate, traitschemaengine, traitdatasource, traitdatasink, traitcatalogbase, traitinstanceinfo, subscriptionhandler, subscriptionengine, resubscribeparam, lastobservedevent, subscriptionclient, catalogitem, singleresourcetraitcatalog, resourceidentifier, parserbase, notifyrequestbuilder, intermediategraphsolver, basicgraphsolver, notificationengine, loggingmanagement, loggingconfiguration, logbdxupload, listparserbase, listbuilderbase, iweavewdmmutex, iweavepublisherlock, ipathfilter, idirtypathcut, idataelementaccesscontroldelegate, generictraitcatalogimpl, synchronizedtraitstate, sendparams, commandsender, command, circulareventreader, builderbase, alwaysacceptdataelementaccesscontroldelegate, datamanagement_current, bdxdelegate, bulkdatatransfer, bdxtransfer, bdxhandlers, blocksendv1, blockqueryv1, blockeofv1, blockeofackv1, blockackv1, bdxnode, bdx_development, weavebdxdelegate, weavebdxclient, bdx_current, retainedpacketbuffer, referencedtlvdata, referencedstring, messageiterator, sha256, sha1, aes256blockcipherenc, aes256blockcipherdec, aes256blockcipher, aes128blockcipherenc, aes128blockcipherdec, aes128blockcipher, traitschemadirectory, devicestatus, wifitelemetry, weavetelemetrybase, tunneltelemetry, threadtopology, threadtelemetry, nrf5config, networktelemetrymanager, networkprovisioningserverimpl, groupkeystoreimpl, genericthreadstackmanagerimpl_openthread_lwip, genericthreadstackmanagerimpl_openthread, genericthreadstackmanagerimpl_freertos, genericsoftwareupdatemanagerimpl_bdx, genericsoftwareupdatemanagerimpl, genericconnectivitymanagerimpl_thread, genericconnectivitymanagerimpl_nowifi, genericconnectivitymanagerimpl_notunnel, genericconnectivitymanagerimpl_nothread, genericconnectivitymanagerimpl_noble, genericconnectivitymanagerimpl_ble, genericconnectivitymanagerimpl, genericconfigurationmanagerimpl, factoryprovisioningbase, factoryprovisioning, esp32utils, esp32config, efr32config, echoserver, devicenetworkinfo, deviceidentitytraitdatasource, blemanagerimpl, blemanager, weavedeviceplatformevent, weavedeviceevent, traitmanager, timesyncmanager, threadstackmanagerimpl, threadstackmanager, softwareupdatemanagerimpl, retryparam, softwareupdatemanager, platformmanagerimpl, platformmanager, connectivitymanagerimpl, threadpollingconfig, connectivitymanager, configurationmanagerimpl, configurationmanager, devicelayer, hmac, hkdfsha1or256, encodedrsasignature, encodedrsakey, encodedhmacsignature, encodedecpublickey, encodedecprivatekey, encodedecdsasignature, ctrmode, ctr_drbg, crypto, asn1writer, asn1universaltime, asn1reader, asn1, weaveencryptionkey, wrmpconfig, jnilibrarymethod, weavesessionstate, weavesessionkey, weaveserverdelegatebase, weaveserverbase, weavesecuritymanager, weavemsgencryptionkeycache, weavemsgencryptionkey, initcontext, weavemessagelayer, sessionendcbctxt, weavefabricstate, weaveexchangeheader, weaveencryptionkey_aes128ctrsha1, weaveconnectiontunnel, persistedcounter, monotonicallyincreasingcounter, jniutils, hostportlist, fabricstatedelegate, counter, configuration, peersockaddr, udpendpoint, tunendpoint, tcpendpoint, socketevents, rawendpoint, ipprefix, ipendpointbasis, interfaceiterator, interfaceaddressiterator, inetlayerbasis, endpointbasis, dnsresolver, asyncdnsresolversockets, inet, weaveservicedata, weaveidinfo, characteristic, bluezserverendpoint, bluezperipheralargs, adapter, bluez, weavebleuuid, weavebledeviceidentificationinfo, wobletxrecord, wobletxhistogram, wobletest, woble, btcommandtypewoblemtu, btcommandtypewindowsize, btcommandtypetxtiming, btcommandtypetestresult, btcommandtypetestrequest, btcommandtypetestdata, btcommandtypeack, btcommandheader, bletransportcommandmessage, bletransportcapabilitiesresponsemessage, bletransportcapabilitiesrequestmessage, bleplatformdelegate, blelayerobject, blelayer, bleendpoint, bleapplicationdelegate, ble, optionset, optiondef, optionsetbase, helpoptions, argparser, structureschemapointerpair, serializedfieldtypeutf8string_array, serializedfieldtypeuint8_array, serializedfieldtypeuint64_array, serializedfieldtypeuint32_array, serializedfieldtypeuint16_array, serializedfieldtypeint8_array, serializedfieldtypeint64_array, serializedfieldtypeint32_array, serializedfieldtypeint16_array, serializedfieldtypefloatingpoint64_array, serializedfieldtypefloatingpoint32_array, serializedfieldtypebytestring_array, serializedfieldtypeboolean_array, serializedbytestring, serializationcontext, schemafielddescriptor, memorymanagement, fielddescriptor, errorformatter, arraylengthandbuffer, sign, skip, main, class,
Text of the page (random words):
pport overview classes pairingcodesupport passcodeencryptionsupport weavecertificatesupport weavekeyexportclientnative weavekeyexportsupportnative weavesecuritysupport support overview structs profilestringcontext profilestringinfo system overview classes layer lwipeventhandlerdelegate mutex object packetbuffer timer structs lwipevent unions objectarena stats overview classes snapshot tlv overview classes circulartlvreader circulartlvwriter tlvreader tlvupdater tlvwriter weavecirculartlvbuffer debug overview structs dumpcontext utilities overview structs findcontext findpredicatecontext warm overview classes warmfabricstatedelegate structs actionentry modulestate applicationkeystrait overview classes applicationkeystraitdatasink modules device control fabric provisioning network provisioning passive rendezvous remote passive rendezvous service provisioning token pairing namespaces platform platform inetlayer nestcerts development deviceca root production deviceca root pairingcode warm deviceeventtype factoryprovisioningdata encoding bigendian littleendian logging platform persistedstorage bdxprotocol common platform viewrequest viewresponse locale vendor nestlabs devicedescription thermostat platform stats platform layer platform schema weave trait auth related pages address assignment managed namespaces java android bluetooth overview bluetoothgatt bluetoothgattcallback bluetoothgattcharacteristic bluetoothgattdescriptor bluetoothgattservice bluetoothprofile com nestlabs weave security overview applicationgroupglobalid applicationkeysupport overview constituentkeysource hkdf passcodeencryptionsupport weavecertificatesupport weavekeyexportclient weavekeyexportsupport weavekeyid weavesecuritysupport weavesecuritysupportexception nl weave devicemanager overview devicefeatures failsafearmmode getnetworkflags identifydevicecriteria networkinfo networktype nevispairingcodedecoding pairingcodeutils rendezvousmode resetflags targetdevicemodes targetfabricid testmain overview testfailedexception weavedevicedescriptor weavedeviceexception weavedevicemanager overview completionhandler weavedevicemanagerexception weavestack wifimode wifirole wifisecuritytype openweave reference send feedback stay organized with collections save and categorize content based on your preferences nl weave profiles time timesyncnode summary inheritance inherits from nl weave profiles time _timesyncnodebase constructors and destructors timesyncnode void mboottimefornextautodiscovery_usec timesync_t misautosyncenabled bool states used for auto sync feature misurgentdiscoverypending bool mnominaldiscoveryperiod_msec int32_t mshortestdiscoveryperiod_msec int32_t msyncperiod_msec int32_t mactivecontact contact communication context mexchangecontext exchangecontext munadjtimestamplastsent_usec timesync_t enterstate_discover void void these state transition functions are internal and cannot return error code as the previous state would have no way to handle them enterstate_servicesync_1 void void enterstate_servicesync_2 void void enterstate_sync_1 void void enterstate_sync_2 void void public types clientstate enum current state of this time sync client commstate enum status of communication to a certain contact contributorfilter void const aapp contact acontact const int asize typedef void callback happens right before we calculate the time correction from responses onsyncrequestreceivedhandler void const aapp const weavemessageinfo amsginfo const uint8_t alikelyhood const bool aistimecoordinator typedef bool callback to indicate we just received a time sync request responsestatus enum status of stored response to a certain contact serverstate kserverstate_unreliableafterboot kserverstate_idle enum current state of this time sync server syncfailedhandler void const aapp const weave_error aerrorcode typedef void callback happens when sync is considered failed including auto sync syncsucceededhandler void const aapp const timesync_t aoffsetusec const bool aisreliable const bool aisserver const uint8_t anumcontributor typedef bool callback happens after sync is considered successful including auto sync but before the result is applied timechangenotificationhandler void const aapp const uint64_t anodeid const ipaddress anodeaddr typedef void callback to indicate we just received a time change notification public attributes filtertimecorrectioncontributor contributorfilter onsyncfailed syncfailedhandler onsyncrequestreceived onsyncrequestreceivedhandler if not set the default implementation always returns true onsyncsucceeded syncsucceededhandler if not set the default behavior is taking all results except for very small server corrections ontimechangenotificationreceived timechangenotificationhandler mencryptiontype uint8_t encryption method for local communication mkeyid uint16_t key id used for local communication protected attributes mapp void pointer to higher layer data mclientstate clientstate mconnectiontoservice weaveconnection tcp connection used to talk to the service mcontacts weave_config_time_client_max_num_contacts contact contact information learned throughout discovery misalwaysfresh bool misincallback bool true if we re in a callback to higher layer mlastlikelihoodsent int8_t mnumcontributorinlastlocalsync uint8_t mrole timesyncrole actual role of this node mserverstate serverstate mservicecontact contact mtimestamplastcorrectionfromserverorntp_usec timesync_t note it has to be boot time as we need compensation for sleep time mtimestamplastlocalsync_usec timesync_t note it has to be boot time as we need compensation for sleep time public functions abort void weave_error force the engine to go back to idle state aborting anything it is doing disableautosync void void disable auto sync enableautosync const int32_t asyncperiod_msec const int32_t anominaldiscoveryperiod_msec const int32_t ashortestdiscoveryperiod_msec weave_error enable auto sync getcapacityofcontactlist void const int simple getter for the maximum number of contacts this engine is configured to store getclientstate void const clientstate simple getter for client state getnextlikelihood void const int8_t extract the likelihood for persistent getserverstate void const serverstate simple getter for the server state initclient void const aapp weaveexchangemanager aexchangemgr const uint8_t aencryptiontype const uint16_t akeyid const int8_t ainitiallikelyhood weave_error initialize this client initcoordinator nl weave weaveexchangemanager aexchangemgr const uint8_t aencryptiontype const uint16_t akeyid const int32_t asyncperiod_msec const int32_t anominaldiscoveryperiod_msec const int32_t ashortestdiscoveryperiod_msec weave_error initialize this coordinator initserver void const aapp weaveexchangemanager const aexchangemgr const bool aisalwaysfresh weave_error initialize for the server role must be called as the first function after object construction if the intention is to be a time sync server multicasttimechangenotification const uint8_t aencryptiontype const uint16_t akeyid const void called by higher layer to multicast time change notification registercorrectionfromserverorntp void void called by higher layer to indicate that we just finished a round of time sync with either any server or through some reliable means like ntp registerlocalsyncoperation const uint8_t anumcontributor void called by higher layer to indicate that we just finished a round of time sync with other local coordinators shutdown void weave_error stop the service no matter which role it is playing sync const bool aforcediscoveragain weave_error sync using existing contacts syncwithnodes const int16_t anumnode const servingnode anodes weave_error sync using the given list of contacts syncwithservice weaveconnection const aconnection weave_error sync using the given tcp connection and associated encryption and key id protected functions abortonerror const weave_error acode void internal abort if acode is not weave_no_error autosyncnow void void internal function to kick off an auto sync session callbackforsynccompletion const bool aissuccessful bool ashouldupdate const bool aiscorrectionreliable const bool aisfromserver const uint8_t anumcontributor const timesync_t asystemtimestamp_usec const timesync_t adifftime_usec weave_error induce callback to the application layer clearstate void void destroycommcontext void bool close the weave exchangecontext endlocalsyncandtrycalculatetimefix void void endservicesyncandtrycalculatetimefix void void findreplaceablecontact const uint64_t anodeid const ipaddress anodeaddr bool aistimechangenotification contact return a slot to store contact information getclientstatename void const const char const getnextidlecontact void contact get the next valid and idle contact to talk to getnumnotyetcompletedcontacts void int16_t get the number of contacts that are valid but we haven t talk to them yet getnumreliableresponses void int16_t get the number of reliable responses collected so far initstate const timesyncrole arole void const aapp weaveexchangemanager const aexchangemgr weave_error invalidateallcontacts void void invalidate all local contacts invalidateservicecontact void void invalidate contact to the service registercommerror contact const acontact void register communication error on a certain contact and shorten auto discovery period if needed acontact can be null to indicate we have no one to talk to and hence just shorten the auto discovery period sendsyncrequest bool const rismessagesent contact const acontact weave_error send unicast sync request to a contact setallcompletedcontactstoidle void int16_t reset all completed contacts to idle state again but don t touch the response setallvalidcontactstoidleandinvalidateresponse void int16_t set all valid local contacts to idle state and clear the response setclientstate const clientstate state void setupunicastcommcontext contact const acontact weave_error create new weave exchange for unicast communication storenotifyingcontact const uint64_t anodeid const ipaddress anodeaddr void store the contact information of a node who just sent us a time change notification updatemulticastsyncresponse const uint64_t anodeid const ipaddress anodeaddr const timesyncresponse aresponse void process a response coming back from a multicast request updateunicastsyncresponse const timesyncresponse aresponse void process a response coming back from a unicast request _initclient const uint8_t aencryptiontype const uint16_t akeyid const int8_t ainitiallikelyhood weave_error initialize for the client role _initserver const bool aisalwaysfresh weave_error initialize for the server role _shutdownclient void weave_error stop the client not available in callbacks _shutdowncoordinator void weave_error stop the coordinator not available in callbacks _shutdownserver void weave_error stop the server not available in callbacks protected static functions handleautodiscoverytimeout system layer asystemlayer void aappstate system error aerror void handleautosynctimeout system layer asystemlayer void aappstate system error aerror void handlemulticastresponsetimeout system layer asystemlayer void aappstate system error aerror void handlemulticastsyncresponse exchangecontext ec const ippacketinfo pktinfo const weavemessageinfo msginfo uint32_t profileid uint8_t msgtype packetbuffer payload void handlesyncrequest exchangecontext ec const ippacketinfo pktinfo const weavemessageinfo msginfo uint32_t profileid uint8_t msgtype packetbuffer payload void callback from weave exchange when a time sync request arrives handletimechangenotification exchangecontext ec const ippacketinfo pktinfo const weavemessageinfo msginfo uint32_t profileid uint8_t msgtype packetbuffer payload void handleunicastresponsetimeout exchangecontext const ec void handleunicastsyncresponse exchangecontext ec const ippacketinfo pktinfo const weavemessageinfo msginfo uint32_t profileid uint8_t msgtype packetbuffer payload void handleunreliableafterboottimer system layer asystemlayer void aappstate system error aerror void callback from weave timer when we passed the unreliable after boot barrier isoperationalstate clientstate astate bool determine whether given state is operational _onsyncsucceeded void const aapp const nl weave profiles time timesync_t aoffsetusec const bool aisreliable const bool aisserver const uint8_t anumcontributor bool mboottimefornextautodiscovery_usec timesync_t mboottimefornextautodiscovery_usec misautosyncenabled bool misautosyncenabled states used for auto sync feature misurgentdiscoverypending bool misurgentdiscoverypending mnominaldiscoveryperiod_msec int32_t mnominaldiscoveryperiod_msec mshortestdiscoveryperiod_msec int32_t mshortestdiscoveryperiod_msec msyncperiod_msec int32_t msyncperiod_msec mactivecontact contact mactivecontact communication context mexchangecontext exchangecontext mexchangecontext munadjtimestamplastsent_usec timesync_t munadjtimestamplastsent_usec enterstate_discover void enterstate_discover void these state transition functions are internal and cannot return error code as the previous state would have no way to handle them any failure shall result to eventually another state transition could be timeout if even the timer fails we are out of trick and could hang in some wrong state enterstate_servicesync_1 void enterstate_servicesync_1 void enterstate_servicesync_2 void enterstate_servicesync_2 void enterstate_sync_1 void enterstate_sync_1 void enterstate_sync_2 void enterstate_sync_2 void public types clientstate clientstate current state of this time sync client commstate commstate status of communication to a certain contact this is in the public because contact is in public contributorfilter void contributorfilter void const aapp contact acontact const int asize callback happens right before we calculate the time correction from responses application layer could overwrite acontact i mresponsestatus to kresponsestatus_invalid so that response would be ignored in the calculation details parameters in aapp a pointer to app layer data set in init in acontact array of contacts and response status in asize number of records in the acontact array onsyncrequestreceivedhandler bool onsyncrequestreceivedhandler void const aapp const weavemessageinfo amsginfo const uint8_t alikelyhood const bool aistimecoordinator callback to indicate we just received a time sync request details parameters in aapp a pointer to app layer data set in init in amsginfo a weavemessageinfo containing information about the received time sync request including information about the sender in alikelyhood likelihood of response as requested by the originator in aistimecoordinator true if the originating node is a time sync coordinator returns false and the engine shall ignore this request responsestatus responsestatus status of stored response to a certain contact this is in the public because contact is in public serverstate serverstate current state of this tim...
|