[{"data":1,"prerenderedAt":414},["ShallowReactive",2],{"navigation":3,"\u002Freference\u002Fapi":151,"\u002Freference\u002Fapi-surround":409},[4,29,56,79,94,121,128,144],{"title":5,"path":6,"stem":7,"children":8,"icon":27,"defaultOpen":28},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,12,17,22],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-book-open",{"title":13,"path":14,"stem":15,"icon":16},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Redis setup","\u002Fgetting-started\u002Fredis-setup","1.getting-started\u002F3.redis-setup","i-lucide-database",{"title":23,"path":24,"stem":25,"icon":26},"Quickstart","\u002Fgetting-started\u002Fquickstart","1.getting-started\u002F4.quickstart","i-lucide-zap","i-lucide-rocket",true,{"title":30,"icon":31,"path":32,"stem":33,"children":34,"page":55},"Concepts","i-lucide-lightbulb","\u002Fconcepts","2.concepts",[35,40,45,50],{"title":36,"path":37,"stem":38,"icon":39},"Keys","\u002Fconcepts\u002Fkeys","2.concepts\u002F1.keys","i-lucide-key-round",{"title":41,"path":42,"stem":43,"icon":44},"Strict vs lax","\u002Fconcepts\u002Fstrict-vs-lax","2.concepts\u002F2.strict-vs-lax","i-lucide-scale",{"title":46,"path":47,"stem":48,"icon":49},"Comparators","\u002Fconcepts\u002Fcomparators","2.concepts\u002F3.comparators","i-lucide-git-compare",{"title":51,"path":52,"stem":53,"icon":54},"Errors","\u002Fconcepts\u002Ferrors","2.concepts\u002F4.errors","i-lucide-triangle-alert",false,{"title":57,"path":58,"stem":59,"children":60,"icon":63},"Counters","\u002Fcounters","3.counters\u002F1.index",[61,64,69,74],{"title":62,"path":58,"stem":59,"icon":63},"Overview","i-lucide-hash",{"title":65,"path":66,"stem":67,"icon":68},"StrictCounter","\u002Fcounters\u002Fstrict-counter","3.counters\u002F2.strict-counter","i-lucide-target",{"title":70,"path":71,"stem":72,"icon":73},"LaxCounter","\u002Fcounters\u002Flax-counter","3.counters\u002F3.lax-counter","i-lucide-wind",{"title":75,"path":76,"stem":77,"icon":78},"Conditional & batch operations","\u002Fcounters\u002Fconditional-and-batch","3.counters\u002F4.conditional-and-batch","i-lucide-layers",{"title":80,"path":81,"stem":82,"children":83,"icon":85},"Instance-aware counters","\u002Finstance-aware-counters","4.instance-aware-counters\u002F1.index",[84,86,90],{"title":62,"path":81,"stem":82,"icon":85},"i-lucide-network",{"title":87,"path":88,"stem":89,"icon":68},"StrictInstanceAwareCounter","\u002Finstance-aware-counters\u002Fstrict","4.instance-aware-counters\u002F2.strict",{"title":91,"path":92,"stem":93,"icon":73},"LaxInstanceAwareCounter","\u002Finstance-aware-counters\u002Flax","4.instance-aware-counters\u002F3.lax",{"title":95,"path":96,"stem":97,"children":98,"icon":100},"Locks","\u002Flocks","5.locks\u002F1.index",[99,101,106,111,116],{"title":62,"path":96,"stem":97,"icon":100},"i-lucide-lock",{"title":102,"path":103,"stem":104,"icon":105},"Mutex","\u002Flocks\u002Fmutex","5.locks\u002F2.mutex","i-lucide-lock-keyhole",{"title":107,"path":108,"stem":109,"icon":110},"RwLock","\u002Flocks\u002Frwlock","5.locks\u002F3.rwlock","i-lucide-book-lock",{"title":112,"path":113,"stem":114,"icon":115},"Lock options","\u002Flocks\u002Foptions","5.locks\u002F4.options","i-lucide-sliders-horizontal",{"title":117,"path":118,"stem":119,"icon":120},"Guard state & errors","\u002Flocks\u002Fguard-state","5.locks\u002F5.guard-state","i-lucide-shield-alert",{"title":122,"path":123,"stem":124,"children":125,"icon":127},"Rate limiting","\u002Frate-limiting","6.rate-limiting\u002F1.index",[126],{"title":122,"path":123,"stem":124,"icon":127},"i-lucide-gauge",{"title":129,"icon":130,"path":131,"stem":132,"children":133,"page":55},"Reference","i-lucide-book-marked","\u002Freference","7.reference",[134,139],{"title":135,"path":136,"stem":137,"icon":138},"Feature flags","\u002Freference\u002Ffeature-flags","7.reference\u002F1.feature-flags","i-lucide-flag",{"title":140,"path":141,"stem":142,"icon":143},"API reference","\u002Freference\u002Fapi","7.reference\u002F2.api","i-lucide-file-code",{"title":145,"path":146,"stem":147,"children":148,"icon":150},"Changelog","\u002Fchangelog","8.changelog\u002F1.index",[149],{"title":145,"path":146,"stem":147,"icon":150},"i-lucide-scroll",{"id":152,"title":140,"badge":153,"body":154,"date":153,"description":403,"extension":404,"links":153,"meta":405,"navigation":406,"path":141,"seo":407,"stem":142,"__hash__":408},"docs\u002F7.reference\u002F2.api.md",null,{"type":155,"value":156,"toc":395},"minimark",[157,161,173,176,181,323,327,376,380,383],[158,159,160],"p",{},"The authoritative, always-current API reference is generated from the source on docs.rs:",[162,163,166],"callout",{"icon":164,"to":165},"i-simple-icons-rust","https:\u002F\u002Fdocs.rs\u002Fdistkit",[158,167,168,172],{},[169,170,171],"strong",{},"docs.rs\u002Fdistkit"," - full signatures, trait bounds, and item-level docs.",[158,174,175],{},"This page is a map of where things live.",[177,178,180],"h2",{"id":179},"module-index","Module index",[182,183,184,200],"table",{},[185,186,187],"thead",{},[188,189,190,194,197],"tr",{},[191,192,193],"th",{},"Path",[191,195,196],{},"Feature",[191,198,199],{},"Key items",[201,202,203,227,251,273,301],"tbody",{},[188,204,205,212,215],{},[206,207,208],"td",{},[209,210,211],"code",{},"distkit",[206,213,214],{},"-",[206,216,217,220,221,220,224],{},[209,218,219],{},"DistkitRedisKey",", ",[209,222,223],{},"CounterComparator",[209,225,226],{},"DistkitError",[188,228,229,234,239],{},[206,230,231],{},[209,232,233],{},"distkit::counter",[206,235,236],{},[209,237,238],{},"counter",[206,240,241,220,244,220,246,220,248],{},[209,242,243],{},"CounterTrait",[209,245,65],{},[209,247,70],{},[209,249,250],{},"CounterOptions",[188,252,253,258,263],{},[206,254,255],{},[209,256,257],{},"distkit::icounter",[206,259,260],{},[209,261,262],{},"instance-aware-counter",[206,264,265,220,268,220,270,272],{},[209,266,267],{},"InstanceAwareCounterTrait",[209,269,87],{},[209,271,91],{}," and their options",[188,274,275,280,285],{},[206,276,277],{},[209,278,279],{},"distkit::lock",[206,281,282],{},[209,283,284],{},"lock",[206,286,287,220,289,291,292,220,295,220,298],{},[209,288,102],{},[209,290,107],{},", guards, ",[209,293,294],{},"LockOptions",[209,296,297],{},"LockGuardState",[209,299,300],{},"LockError",[188,302,303,308,313],{},[206,304,305],{},[209,306,307],{},"distkit::trypema",[206,309,310],{},[209,311,312],{},"trypema",[206,314,315,316,322],{},"Re-export of the ",[317,318,312],"a",{"href":319,"rel":320},"https:\u002F\u002Fdocs.rs\u002Ftrypema",[321],"nofollow"," crate",[177,324,326],{"id":325},"core-types","Core types",[328,329,330,341,367],"ul",{},[331,332,333,337,338,340],"li",{},[169,334,335],{},[209,336,219],{}," - validated key wrapper. See ",[317,339,36],{"href":37},".",[331,342,343,347,348,351,352,351,355,351,358,351,361,364,365,340],{},[169,344,345],{},[209,346,223],{}," - ",[209,349,350],{},"Eq"," \u002F ",[209,353,354],{},"Lt",[209,356,357],{},"Gt",[209,359,360],{},"Ne",[209,362,363],{},"Nil"," for conditional writes. See ",[317,366,46],{"href":47},[331,368,369,373,374,340],{},[169,370,371],{},[209,372,226],{}," - the one error type everything returns. See ",[317,375,51],{"href":52},[177,377,379],{"id":378},"traits-to-keep-in-scope","Traits to keep in scope",[158,381,382],{},"Methods live on traits, so the relevant trait must be imported to call them:",[328,384,385,390],{},[331,386,387],{},[209,388,389],{},"distkit::counter::CounterTrait",[331,391,392],{},[209,393,394],{},"distkit::icounter::InstanceAwareCounterTrait",{"title":396,"searchDepth":397,"depth":398,"links":399},"",1,2,[400,401,402],{"id":179,"depth":398,"text":180},{"id":325,"depth":398,"text":326},{"id":378,"depth":398,"text":379},"Where the full type-level API lives, and a quick index of the public surface.","md",{},{"icon":143},{"title":140,"description":403},"XtxZe-6StakkldgYuWYJpYjOb7JS9g1LScZ3ppI5nd0",[410,412],{"title":135,"path":136,"stem":137,"description":411,"icon":138,"children":-1},"Every distkit feature flag and what it pulls in.",{"title":145,"path":146,"stem":147,"description":413,"icon":150,"children":-1},"Notable changes to distkit, newest first.",1781569584141]