[{"data":1,"prerenderedAt":484},["ShallowReactive",2],{"navigation":3,"\u002Freference\u002Ffeature-flags":151,"\u002Freference\u002Ffeature-flags-surround":479},[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":135,"badge":153,"body":154,"date":153,"description":473,"extension":474,"links":153,"meta":475,"navigation":476,"path":136,"seo":477,"stem":137,"__hash__":478},"docs\u002F7.reference\u002F1.feature-flags.md",null,{"type":155,"value":156,"toc":470},"minimark",[157,161,291,296,299,345,348,405,408,457,466],[158,159,160],"p",{},"distkit gates each primitive behind a Cargo feature so you compile only what you use.",[162,163,164,180],"table",{},[165,166,167],"thead",{},[168,169,170,174,177],"tr",{},[171,172,173],"th",{},"Feature",[171,175,176],{},"Default",[171,178,179],{},"Enables",[181,182,183,211,231,256,279],"tbody",{},[168,184,185,192,198],{},[186,187,188],"td",{},[189,190,191],"code",{},"counter",[186,193,194],{},[195,196,197],"strong",{},"yes",[186,199,200,202,203,202,205,202,208],{},[189,201,65],{},", ",[189,204,70],{},[189,206,207],{},"CounterTrait",[189,209,210],{},"CounterOptions",[168,212,213,218,221],{},[186,214,215],{},[189,216,217],{},"instance-aware-counter",[186,219,220],{},"no",[186,222,223,202,225,202,227,230],{},[189,224,87],{},[189,226,91],{},[189,228,229],{},"InstanceAwareCounterTrait"," and their options",[168,232,233,238,240],{},[186,234,235],{},[189,236,237],{},"lock",[186,239,220],{},[186,241,242,202,244,246,247,202,250,202,253],{},[189,243,102],{},[189,245,107],{},", their guards, ",[189,248,249],{},"LockOptions",[189,251,252],{},"LockGuardState",[189,254,255],{},"LockError",[168,257,258,263,265],{},[186,259,260],{},[189,261,262],{},"trypema",[186,264,220],{},[186,266,267,268,271,272,278],{},"The ",[189,269,270],{},"distkit::trypema"," module (re-export of the ",[273,274,262],"a",{"href":275,"rel":276},"https:\u002F\u002Fdocs.rs\u002Ftrypema",[277],"nofollow"," crate)",[168,280,281,286,288],{},[186,282,283],{},[189,284,285],{},"full",[186,287,220],{},[186,289,290],{},"All of the above",[292,293,295],"h2",{"id":294},"common-shapes","Common shapes",[158,297,298],{},"Default (counters only):",[300,301,306],"pre",{"className":302,"code":303,"language":304,"meta":305,"style":305},"language-toml shiki shiki-themes material-theme-lighter github-light github-dark","[dependencies]\ndistkit = \"0.5\"\n","toml","",[189,307,308,324],{"__ignoreMap":305},[309,310,313,317,321],"span",{"class":311,"line":312},"line",1,[309,314,316],{"class":315},"sP7_E","[",[309,318,320],{"class":319},"sbgvK","dependencies",[309,322,323],{"class":315},"]\n",[309,325,327,331,334,338,342],{"class":311,"line":326},2,[309,328,330],{"class":329},"su5hD","distkit ",[309,332,333],{"class":315},"=",[309,335,337],{"class":336},"sjJ54"," \"",[309,339,341],{"class":340},"s_sjI","0.5",[309,343,344],{"class":336},"\"\n",[158,346,347],{},"Counters plus locks:",[300,349,351],{"className":302,"code":350,"language":304,"meta":305,"style":305},"[dependencies]\ndistkit = { version = \"0.5\", features = [\"lock\"] }\n",[189,352,353,361],{"__ignoreMap":305},[309,354,355,357,359],{"class":311,"line":312},[309,356,316],{"class":315},[309,358,320],{"class":319},[309,360,323],{"class":315},[309,362,363,365,367,370,373,375,377,379,382,385,388,390,393,395,397,399,402],{"class":311,"line":326},[309,364,330],{"class":329},[309,366,333],{"class":315},[309,368,369],{"class":315}," {",[309,371,372],{"class":329}," version ",[309,374,333],{"class":315},[309,376,337],{"class":336},[309,378,341],{"class":340},[309,380,381],{"class":336},"\"",[309,383,384],{"class":315},",",[309,386,387],{"class":329}," features ",[309,389,333],{"class":315},[309,391,392],{"class":315}," [",[309,394,381],{"class":336},[309,396,237],{"class":340},[309,398,381],{"class":336},[309,400,401],{"class":315},"]",[309,403,404],{"class":315}," }\n",[158,406,407],{},"Everything:",[300,409,411],{"className":302,"code":410,"language":304,"meta":305,"style":305},"[dependencies]\ndistkit = { version = \"0.5\", features = [\"full\"] }\n",[189,412,413,421],{"__ignoreMap":305},[309,414,415,417,419],{"class":311,"line":312},[309,416,316],{"class":315},[309,418,320],{"class":319},[309,420,323],{"class":315},[309,422,423,425,427,429,431,433,435,437,439,441,443,445,447,449,451,453,455],{"class":311,"line":326},[309,424,330],{"class":329},[309,426,333],{"class":315},[309,428,369],{"class":315},[309,430,372],{"class":329},[309,432,333],{"class":315},[309,434,337],{"class":336},[309,436,341],{"class":340},[309,438,381],{"class":336},[309,440,384],{"class":315},[309,442,387],{"class":329},[309,444,333],{"class":315},[309,446,392],{"class":315},[309,448,381],{"class":336},[309,450,285],{"class":340},[309,452,381],{"class":336},[309,454,401],{"class":315},[309,456,404],{"class":315},[158,458,459,460,465],{},"The error variants on ",[273,461,462],{"href":52},[189,463,464],{},"DistkitError"," are themselves feature-gated, so you never match on a primitive you didn't compile in.",[467,468,469],"style",{},"html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":305,"searchDepth":312,"depth":326,"links":471},[472],{"id":294,"depth":326,"text":295},"Every distkit feature flag and what it pulls in.","md",{},{"icon":138},{"title":135,"description":473},"giqsWsz0LdKhrw83Z0xUVKFFEqFWQsXyMxkDqMVMzzM",[480,482],{"title":122,"path":123,"stem":124,"description":481,"icon":127,"children":-1},"Sliding-window rate limiting via the trypema crate, re-exported under distkit::trypema.",{"title":140,"path":141,"stem":142,"description":483,"icon":143,"children":-1},"Where the full type-level API lives, and a quick index of the public surface.",1781569584131]