package Ġexamples . kotlin Ċ Ċ import Ġcom . a ero spike . client . A ero spike Client Ċ import Ġcom . a ero spike . client . Bin Ċ import Ġcom . a ero spike . client . Key Ċ import Ġcom . a ero spike . client . async . Event Lo ops Ċ import Ġcom . a ero spike . client . async . Net ty Event Lo ops Ċ import Ġcom . a ero spike . client . policy . Client Policy Ċ import Ġcom . github . a al ob a idi . a ero spike . reactor . A ero spike Reactor Client Ċ import Ġio . netty . channel . nio . Nio EventLoop Group Ċ import Ġorg . springframework . boot . autoconfigure . SpringBoot Application Ċ import Ġorg . springframework . boot . run Application Ċ import Ġorg . springframework . context . annotation . Bean Ċ import Ġorg . springframework . context . annotation . Configuration Ċ import Ġorg . springframework . web . bind . annotation . GetMapping Ċ import Ġorg . springframework . web . bind . annotation . PathVariable Ċ import Ġorg . springframework . web . bind . annotation . RestController Ċ Ċ @ SpringBoot Application Ċ class ĠSpring Boot Example Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġrun Application < SpringBoot Example >(* args ) Ċ } Ċ Ċ @ Configuration Ċ class ĠBe ans Ġ{ ĊĠĠĠ Ġ@ Bean ĊĠĠĠ Ġfun Ġevent Loop Group () Ġ= ĠN io EventLoop Group ( Runtime . get Runtime (). available Processors ()) ĊĊĠĠĠ Ġ@ Bean ĊĠĠĠ Ġfun Ġevent Lo ops ( event Loop Group : ĠN io EventLoop Group ) Ġ= ĠNet ty Event Lo ops ( event Loop Group ) ĊĊĠĠĠ Ġ@ Bean ĊĠĠĠ Ġfun Ġa ero spike Reactor Client ( event Lo ops : ĠEvent Lo ops ): ĠA ero spike Reactor Client Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpolicy Ġ= ĠClient Policy () ĊĠĠĠĠĠĠĠ Ġpolicy . event Lo ops Ġ= Ġevent Lo ops ĊĠĠĠĠĠĠĠ Ġreturn ĠA ero spike Reactor Client ( A ero spike Client ( policy , Ġ" localhost ", Ġ 3 0 0 0 )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ RestController Ċ class ĠController ( val Ġa ero spike Reactor Client : ĠA ero spike Reactor Client , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevent Lo ops : ĠEvent Lo ops ) Ġ{ ĊĊĠĠĠ Ġ@ GetMapping ("/ { user }") ĊĠĠĠ Ġfun Ġhello User (@ PathVariable (" user ") Ġuser : ĠString ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġa ero spike Reactor Client ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġget Ġrecord Ġassociated Ġwith Ġuser Ġname ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get ( event Lo ops . next (), Ġnull , ĠKey (" test ", Ġnull , Ġuser )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġget Ġvalue Ġas ĠLong , Ġdefault Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġ( it ?. record ?. bins ?. values ?. first () Ġ?: Ġ 0 L ) Ġas ĠLong Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġadd Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit Ġ+ Ġ 1 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsave Ġvalue Ġ+ Ġ 1 Ġin ĠA ero spike ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġnumber Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa ero spike Reactor Client ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put ( event Lo ops . next (), Ġnull , ĠKey (" test ", Ġnull , Ġuser ), ĠBin ("", Ġnumber )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġnumber Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . toString () Ġ} Ċ Ċ } Ċ