[{"data":1,"prerenderedAt":1233},["ShallowReactive",2],{"navigation":3,"\u002Fcounters":151,"\u002Fcounters-surround":1228},[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":62,"badge":153,"body":154,"date":153,"description":1222,"extension":1223,"links":153,"meta":1224,"navigation":1225,"path":58,"seo":1226,"stem":59,"__hash__":1227},"docs\u002F3.counters\u002F1.index.md",null,{"type":155,"value":156,"toc":1217},"minimark",[157,173,176,194,201,206,213,1020,1024,1034,1186,1195,1199,1213],[158,159,160,161,165,166,172],"p",{},"Counters are distkit's default feature. They are distributed ",[162,163,164],"code",{},"i64"," counters keyed by a ",[167,168,169],"a",{"href":37},[162,170,171],{},"DistkitRedisKey",", stored in a Redis hash under the prefix you give them.",[158,174,175],{},"There are two implementations, and they share the same interface:",[177,178,179,187],"ul",{},[180,181,182,186],"li",{},[167,183,184],{"href":66},[162,185,65],{}," - every call is atomic and immediately consistent.",[180,188,189,193],{},[167,190,191],{"href":71},[162,192,70],{}," - increments buffer locally and flush on an interval.",[158,195,196,197,200],{},"Pick between them based on the ",[167,198,199],{"href":42},"strict vs lax"," trade-off.",[202,203,205],"h2",{"id":204},"the-shared-trait","The shared trait",[158,207,208,209,212],{},"Both implement ",[162,210,211],{},"CounterTrait",". Bring it into scope to call any of these:",[214,215,220],"pre",{"className":216,"code":217,"language":218,"meta":219,"style":219},"language-rust shiki shiki-themes material-theme-lighter github-light github-dark","pub trait CounterTrait {\n    async fn inc(&self, key: &DistkitRedisKey, count: i64) -> Result\u003Ci64, DistkitError>;\n    async fn dec(&self, key: &DistkitRedisKey, count: i64) -> Result\u003Ci64, DistkitError>;\n    async fn get(&self, key: &DistkitRedisKey) -> Result\u003Ci64, DistkitError>;\n    async fn set(&self, key: &DistkitRedisKey, count: i64) -> Result\u003Ci64, DistkitError>;\n    async fn del(&self, key: &DistkitRedisKey) -> Result\u003Ci64, DistkitError>;\n    async fn clear(&self) -> Result\u003C(), DistkitError>;\n\n    \u002F\u002F Conditional - return (new, old).\n    async fn inc_if(&self, key: &DistkitRedisKey, cmp: CounterComparator, count: i64)\n        -> Result\u003C(i64, i64), DistkitError>;\n    async fn set_if(&self, key: &DistkitRedisKey, cmp: CounterComparator, count: i64)\n        -> Result\u003C(i64, i64), DistkitError>;\n\n    \u002F\u002F Batch - preserve input order.\n    async fn get_all(&self, keys: &[&DistkitRedisKey]) -> Result\u003CVec\u003C(&DistkitRedisKey, i64)>, DistkitError>;\n    async fn inc_all(&self, updates: &[(&DistkitRedisKey, i64)]) -> Result\u003CVec\u003C(&DistkitRedisKey, i64)>, DistkitError>;\n    async fn set_all(&self, updates: &[(&DistkitRedisKey, i64)]) -> Result\u003CVec\u003C(&DistkitRedisKey, i64)>, DistkitError>;\n    async fn inc_all_if(&self, updates: &[(&DistkitRedisKey, CounterComparator, i64)])\n        -> Result\u003CVec\u003C(&DistkitRedisKey, i64, i64)>, DistkitError>;\n    async fn set_all_if(&self, updates: &[(&DistkitRedisKey, CounterComparator, i64)])\n        -> Result\u003CVec\u003C(&DistkitRedisKey, i64, i64)>, DistkitError>;\n}\n","rust","",[162,221,222,243,314,364,406,456,498,527,533,540,587,611,655,676,681,687,748,811,871,912,943,983,1014],{"__ignoreMap":219},[223,224,227,231,235,239],"span",{"class":225,"line":226},"line",1,[223,228,230],{"class":229},"sw1J6","pub",[223,232,234],{"class":233},"sbsja"," trait",[223,236,238],{"class":237},"sbgvK"," CounterTrait",[223,240,242],{"class":241},"sP7_E"," {\n",[223,244,246,249,252,256,259,263,267,270,274,277,280,282,284,287,289,292,295,298,301,304,306,308,311],{"class":225,"line":245},2,[223,247,248],{"class":229},"    async",[223,250,251],{"class":229}," fn",[223,253,255],{"class":254},"sGLFI"," inc",[223,257,258],{"class":241},"(",[223,260,262],{"class":261},"smGrS","&",[223,264,266],{"class":265},"s_hVV","self",[223,268,269],{"class":241},",",[223,271,273],{"class":272},"su5hD"," key",[223,275,276],{"class":261},":",[223,278,279],{"class":261}," &",[223,281,171],{"class":237},[223,283,269],{"class":241},[223,285,286],{"class":272}," count",[223,288,276],{"class":261},[223,290,291],{"class":237}," i64",[223,293,294],{"class":241},")",[223,296,297],{"class":261}," ->",[223,299,300],{"class":237}," Result",[223,302,303],{"class":241},"\u003C",[223,305,164],{"class":237},[223,307,269],{"class":241},[223,309,310],{"class":237}," DistkitError",[223,312,313],{"class":241},">;\n",[223,315,317,319,321,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362],{"class":225,"line":316},3,[223,318,248],{"class":229},[223,320,251],{"class":229},[223,322,323],{"class":254}," dec",[223,325,258],{"class":241},[223,327,262],{"class":261},[223,329,266],{"class":265},[223,331,269],{"class":241},[223,333,273],{"class":272},[223,335,276],{"class":261},[223,337,279],{"class":261},[223,339,171],{"class":237},[223,341,269],{"class":241},[223,343,286],{"class":272},[223,345,276],{"class":261},[223,347,291],{"class":237},[223,349,294],{"class":241},[223,351,297],{"class":261},[223,353,300],{"class":237},[223,355,303],{"class":241},[223,357,164],{"class":237},[223,359,269],{"class":241},[223,361,310],{"class":237},[223,363,313],{"class":241},[223,365,367,369,371,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404],{"class":225,"line":366},4,[223,368,248],{"class":229},[223,370,251],{"class":229},[223,372,373],{"class":254}," get",[223,375,258],{"class":241},[223,377,262],{"class":261},[223,379,266],{"class":265},[223,381,269],{"class":241},[223,383,273],{"class":272},[223,385,276],{"class":261},[223,387,279],{"class":261},[223,389,171],{"class":237},[223,391,294],{"class":241},[223,393,297],{"class":261},[223,395,300],{"class":237},[223,397,303],{"class":241},[223,399,164],{"class":237},[223,401,269],{"class":241},[223,403,310],{"class":237},[223,405,313],{"class":241},[223,407,409,411,413,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454],{"class":225,"line":408},5,[223,410,248],{"class":229},[223,412,251],{"class":229},[223,414,415],{"class":254}," set",[223,417,258],{"class":241},[223,419,262],{"class":261},[223,421,266],{"class":265},[223,423,269],{"class":241},[223,425,273],{"class":272},[223,427,276],{"class":261},[223,429,279],{"class":261},[223,431,171],{"class":237},[223,433,269],{"class":241},[223,435,286],{"class":272},[223,437,276],{"class":261},[223,439,291],{"class":237},[223,441,294],{"class":241},[223,443,297],{"class":261},[223,445,300],{"class":237},[223,447,303],{"class":241},[223,449,164],{"class":237},[223,451,269],{"class":241},[223,453,310],{"class":237},[223,455,313],{"class":241},[223,457,459,461,463,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496],{"class":225,"line":458},6,[223,460,248],{"class":229},[223,462,251],{"class":229},[223,464,465],{"class":254}," del",[223,467,258],{"class":241},[223,469,262],{"class":261},[223,471,266],{"class":265},[223,473,269],{"class":241},[223,475,273],{"class":272},[223,477,276],{"class":261},[223,479,279],{"class":261},[223,481,171],{"class":237},[223,483,294],{"class":241},[223,485,297],{"class":261},[223,487,300],{"class":237},[223,489,303],{"class":241},[223,491,164],{"class":237},[223,493,269],{"class":241},[223,495,310],{"class":237},[223,497,313],{"class":241},[223,499,501,503,505,508,510,512,514,516,518,520,523,525],{"class":225,"line":500},7,[223,502,248],{"class":229},[223,504,251],{"class":229},[223,506,507],{"class":254}," clear",[223,509,258],{"class":241},[223,511,262],{"class":261},[223,513,266],{"class":265},[223,515,294],{"class":241},[223,517,297],{"class":261},[223,519,300],{"class":237},[223,521,522],{"class":241},"\u003C(),",[223,524,310],{"class":237},[223,526,313],{"class":241},[223,528,530],{"class":225,"line":529},8,[223,531,532],{"emptyLinePlaceholder":28},"\n",[223,534,536],{"class":225,"line":535},9,[223,537,539],{"class":538},"sutJx","    \u002F\u002F Conditional - return (new, old).\n",[223,541,543,545,547,550,552,554,556,558,560,562,564,566,568,571,573,576,578,580,582,584],{"class":225,"line":542},10,[223,544,248],{"class":229},[223,546,251],{"class":229},[223,548,549],{"class":254}," inc_if",[223,551,258],{"class":241},[223,553,262],{"class":261},[223,555,266],{"class":265},[223,557,269],{"class":241},[223,559,273],{"class":272},[223,561,276],{"class":261},[223,563,279],{"class":261},[223,565,171],{"class":237},[223,567,269],{"class":241},[223,569,570],{"class":272}," cmp",[223,572,276],{"class":261},[223,574,575],{"class":237}," CounterComparator",[223,577,269],{"class":241},[223,579,286],{"class":272},[223,581,276],{"class":261},[223,583,291],{"class":237},[223,585,586],{"class":241},")\n",[223,588,590,593,595,598,600,602,604,607,609],{"class":225,"line":589},11,[223,591,592],{"class":261},"        ->",[223,594,300],{"class":237},[223,596,597],{"class":241},"\u003C(",[223,599,164],{"class":237},[223,601,269],{"class":241},[223,603,291],{"class":237},[223,605,606],{"class":241},"),",[223,608,310],{"class":237},[223,610,313],{"class":241},[223,612,614,616,618,621,623,625,627,629,631,633,635,637,639,641,643,645,647,649,651,653],{"class":225,"line":613},12,[223,615,248],{"class":229},[223,617,251],{"class":229},[223,619,620],{"class":254}," set_if",[223,622,258],{"class":241},[223,624,262],{"class":261},[223,626,266],{"class":265},[223,628,269],{"class":241},[223,630,273],{"class":272},[223,632,276],{"class":261},[223,634,279],{"class":261},[223,636,171],{"class":237},[223,638,269],{"class":241},[223,640,570],{"class":272},[223,642,276],{"class":261},[223,644,575],{"class":237},[223,646,269],{"class":241},[223,648,286],{"class":272},[223,650,276],{"class":261},[223,652,291],{"class":237},[223,654,586],{"class":241},[223,656,658,660,662,664,666,668,670,672,674],{"class":225,"line":657},13,[223,659,592],{"class":261},[223,661,300],{"class":237},[223,663,597],{"class":241},[223,665,164],{"class":237},[223,667,269],{"class":241},[223,669,291],{"class":237},[223,671,606],{"class":241},[223,673,310],{"class":237},[223,675,313],{"class":241},[223,677,679],{"class":225,"line":678},14,[223,680,532],{"emptyLinePlaceholder":28},[223,682,684],{"class":225,"line":683},15,[223,685,686],{"class":538},"    \u002F\u002F Batch - preserve input order.\n",[223,688,690,692,694,697,699,701,703,705,708,710,712,715,717,719,722,724,726,728,731,733,735,737,739,741,744,746],{"class":225,"line":689},16,[223,691,248],{"class":229},[223,693,251],{"class":229},[223,695,696],{"class":254}," get_all",[223,698,258],{"class":241},[223,700,262],{"class":261},[223,702,266],{"class":265},[223,704,269],{"class":241},[223,706,707],{"class":272}," keys",[223,709,276],{"class":261},[223,711,279],{"class":261},[223,713,714],{"class":241},"[",[223,716,262],{"class":261},[223,718,171],{"class":237},[223,720,721],{"class":241},"])",[223,723,297],{"class":261},[223,725,300],{"class":237},[223,727,303],{"class":241},[223,729,730],{"class":237},"Vec",[223,732,597],{"class":241},[223,734,262],{"class":261},[223,736,171],{"class":237},[223,738,269],{"class":241},[223,740,291],{"class":237},[223,742,743],{"class":241},")>,",[223,745,310],{"class":237},[223,747,313],{"class":241},[223,749,751,753,755,758,760,762,764,766,769,771,773,776,778,780,782,784,787,789,791,793,795,797,799,801,803,805,807,809],{"class":225,"line":750},17,[223,752,248],{"class":229},[223,754,251],{"class":229},[223,756,757],{"class":254}," inc_all",[223,759,258],{"class":241},[223,761,262],{"class":261},[223,763,266],{"class":265},[223,765,269],{"class":241},[223,767,768],{"class":272}," updates",[223,770,276],{"class":261},[223,772,279],{"class":261},[223,774,775],{"class":241},"[(",[223,777,262],{"class":261},[223,779,171],{"class":237},[223,781,269],{"class":241},[223,783,291],{"class":237},[223,785,786],{"class":241},")])",[223,788,297],{"class":261},[223,790,300],{"class":237},[223,792,303],{"class":241},[223,794,730],{"class":237},[223,796,597],{"class":241},[223,798,262],{"class":261},[223,800,171],{"class":237},[223,802,269],{"class":241},[223,804,291],{"class":237},[223,806,743],{"class":241},[223,808,310],{"class":237},[223,810,313],{"class":241},[223,812,814,816,818,821,823,825,827,829,831,833,835,837,839,841,843,845,847,849,851,853,855,857,859,861,863,865,867,869],{"class":225,"line":813},18,[223,815,248],{"class":229},[223,817,251],{"class":229},[223,819,820],{"class":254}," set_all",[223,822,258],{"class":241},[223,824,262],{"class":261},[223,826,266],{"class":265},[223,828,269],{"class":241},[223,830,768],{"class":272},[223,832,276],{"class":261},[223,834,279],{"class":261},[223,836,775],{"class":241},[223,838,262],{"class":261},[223,840,171],{"class":237},[223,842,269],{"class":241},[223,844,291],{"class":237},[223,846,786],{"class":241},[223,848,297],{"class":261},[223,850,300],{"class":237},[223,852,303],{"class":241},[223,854,730],{"class":237},[223,856,597],{"class":241},[223,858,262],{"class":261},[223,860,171],{"class":237},[223,862,269],{"class":241},[223,864,291],{"class":237},[223,866,743],{"class":241},[223,868,310],{"class":237},[223,870,313],{"class":241},[223,872,874,876,878,881,883,885,887,889,891,893,895,897,899,901,903,905,907,909],{"class":225,"line":873},19,[223,875,248],{"class":229},[223,877,251],{"class":229},[223,879,880],{"class":254}," inc_all_if",[223,882,258],{"class":241},[223,884,262],{"class":261},[223,886,266],{"class":265},[223,888,269],{"class":241},[223,890,768],{"class":272},[223,892,276],{"class":261},[223,894,279],{"class":261},[223,896,775],{"class":241},[223,898,262],{"class":261},[223,900,171],{"class":237},[223,902,269],{"class":241},[223,904,575],{"class":237},[223,906,269],{"class":241},[223,908,291],{"class":237},[223,910,911],{"class":241},")])\n",[223,913,915,917,919,921,923,925,927,929,931,933,935,937,939,941],{"class":225,"line":914},20,[223,916,592],{"class":261},[223,918,300],{"class":237},[223,920,303],{"class":241},[223,922,730],{"class":237},[223,924,597],{"class":241},[223,926,262],{"class":261},[223,928,171],{"class":237},[223,930,269],{"class":241},[223,932,291],{"class":237},[223,934,269],{"class":241},[223,936,291],{"class":237},[223,938,743],{"class":241},[223,940,310],{"class":237},[223,942,313],{"class":241},[223,944,946,948,950,953,955,957,959,961,963,965,967,969,971,973,975,977,979,981],{"class":225,"line":945},21,[223,947,248],{"class":229},[223,949,251],{"class":229},[223,951,952],{"class":254}," set_all_if",[223,954,258],{"class":241},[223,956,262],{"class":261},[223,958,266],{"class":265},[223,960,269],{"class":241},[223,962,768],{"class":272},[223,964,276],{"class":261},[223,966,279],{"class":261},[223,968,775],{"class":241},[223,970,262],{"class":261},[223,972,171],{"class":237},[223,974,269],{"class":241},[223,976,575],{"class":237},[223,978,269],{"class":241},[223,980,291],{"class":237},[223,982,911],{"class":241},[223,984,986,988,990,992,994,996,998,1000,1002,1004,1006,1008,1010,1012],{"class":225,"line":985},22,[223,987,592],{"class":261},[223,989,300],{"class":237},[223,991,303],{"class":241},[223,993,730],{"class":237},[223,995,597],{"class":241},[223,997,262],{"class":261},[223,999,171],{"class":237},[223,1001,269],{"class":241},[223,1003,291],{"class":237},[223,1005,269],{"class":241},[223,1007,291],{"class":237},[223,1009,743],{"class":241},[223,1011,310],{"class":237},[223,1013,313],{"class":241},[223,1015,1017],{"class":225,"line":1016},23,[223,1018,1019],{"class":241},"}\n",[202,1021,1023],{"id":1022},"constructing","Constructing",[158,1025,1026,1027,1030,1031,276],{},"Both take ",[162,1028,1029],{},"CounterOptions"," and return an ",[162,1032,1033],{},"Arc",[214,1035,1037],{"className":216,"code":1036,"language":218,"meta":219,"style":219},"use distkit::{DistkitRedisKey, counter::{CounterOptions, StrictCounter}};\n\nlet prefix = DistkitRedisKey::try_from(\"my_app\".to_string())?;\nlet options = CounterOptions::new(prefix, conn); \u002F\u002F conn: ConnectionManager\n\nlet counter = StrictCounter::new(options); \u002F\u002F Arc\u003CStrictCounter>\n",[162,1038,1039,1074,1078,1124,1157,1161],{"__ignoreMap":219},[223,1040,1041,1044,1047,1050,1053,1055,1057,1060,1062,1064,1066,1068,1071],{"class":225,"line":226},[223,1042,1043],{"class":229},"use",[223,1045,1046],{"class":237}," distkit",[223,1048,1049],{"class":261},"::",[223,1051,1052],{"class":241},"{",[223,1054,171],{"class":237},[223,1056,269],{"class":241},[223,1058,1059],{"class":237}," counter",[223,1061,1049],{"class":261},[223,1063,1052],{"class":241},[223,1065,1029],{"class":237},[223,1067,269],{"class":241},[223,1069,1070],{"class":237}," StrictCounter",[223,1072,1073],{"class":241},"}};\n",[223,1075,1076],{"class":225,"line":245},[223,1077,532],{"emptyLinePlaceholder":28},[223,1079,1080,1083,1086,1089,1092,1094,1097,1099,1103,1107,1109,1112,1115,1118,1121],{"class":225,"line":316},[223,1081,1082],{"class":233},"let",[223,1084,1085],{"class":272}," prefix ",[223,1087,1088],{"class":261},"=",[223,1090,1091],{"class":237}," DistkitRedisKey",[223,1093,1049],{"class":261},[223,1095,1096],{"class":254},"try_from",[223,1098,258],{"class":241},[223,1100,1102],{"class":1101},"sjJ54","\"",[223,1104,1106],{"class":1105},"s_sjI","my_app",[223,1108,1102],{"class":1101},[223,1110,1111],{"class":261},".",[223,1113,1114],{"class":254},"to_string",[223,1116,1117],{"class":241},"())",[223,1119,1120],{"class":261},"?",[223,1122,1123],{"class":241},";\n",[223,1125,1126,1128,1131,1133,1136,1138,1141,1143,1146,1148,1151,1154],{"class":225,"line":366},[223,1127,1082],{"class":233},[223,1129,1130],{"class":272}," options ",[223,1132,1088],{"class":261},[223,1134,1135],{"class":237}," CounterOptions",[223,1137,1049],{"class":261},[223,1139,1140],{"class":254},"new",[223,1142,258],{"class":241},[223,1144,1145],{"class":272},"prefix",[223,1147,269],{"class":241},[223,1149,1150],{"class":272}," conn",[223,1152,1153],{"class":241},");",[223,1155,1156],{"class":538}," \u002F\u002F conn: ConnectionManager\n",[223,1158,1159],{"class":225,"line":408},[223,1160,532],{"emptyLinePlaceholder":28},[223,1162,1163,1165,1168,1170,1172,1174,1176,1178,1181,1183],{"class":225,"line":458},[223,1164,1082],{"class":233},[223,1166,1167],{"class":272}," counter ",[223,1169,1088],{"class":261},[223,1171,1070],{"class":237},[223,1173,1049],{"class":261},[223,1175,1140],{"class":254},[223,1177,258],{"class":241},[223,1179,1180],{"class":272},"options",[223,1182,1153],{"class":241},[223,1184,1185],{"class":538}," \u002F\u002F Arc\u003CStrictCounter>\n",[158,1187,1188,1190,1191,1194],{},[162,1189,1029],{}," also carries ",[162,1192,1193],{},"allowed_lag"," (default ~20 ms), which only matters for the lax counter's flush interval.",[202,1196,1198],{"id":1197},"read-on","Read on",[177,1200,1201,1205,1209],{},[180,1202,1203],{},[167,1204,65],{"href":66},[180,1206,1207],{},[167,1208,70],{"href":71},[180,1210,1211],{},[167,1212,75],{"href":76},[1214,1215,1216],"style",{},"html pre.shiki code .sw1J6, html code.shiki .sw1J6{--shiki-light:#F76D47;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}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);}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}",{"title":219,"searchDepth":226,"depth":245,"links":1218},[1219,1220,1221],{"id":204,"depth":245,"text":205},{"id":1022,"depth":245,"text":1023},{"id":1197,"depth":245,"text":1198},"Distributed integer counters in strict and lax flavors, both behind one trait.","md",{},{"icon":63},{"title":62,"description":1222},"zQ_a5TP7-MmewJyWX70sNas5tnrMxMAGJc00TCi7oFI",[1229,1231],{"title":51,"path":52,"stem":53,"description":1230,"icon":54,"children":-1},"One DistkitError enum, and a no-panic policy.",{"title":65,"path":66,"stem":67,"description":1232,"icon":68,"children":-1},"Atomic, immediately consistent distributed counting.",1781569581680]