@@ -27,7 +27,7 @@ func withMockServer<Result>(
2727    _ body:  ( _ port:  Int )  async  throws  ->  Result 
2828)  async  throws  ->  Result  { 
2929    let  eventLoopGroup  =  NIOSingletons . posixEventLoopGroup
30-     let  server  =  MockLambdaServer ( behavior:  behaviour,  port:  port,  keepAlive:  keepAlive) 
30+     let  server  =  MockLambdaServer ( behavior:  behaviour,  port:  port,  keepAlive:  keepAlive,  eventLoopGroup :  eventLoopGroup ) 
3131    let  port  =  try await  server. start ( ) . get ( ) 
3232
3333    let  result :  Swift . Result < Result ,  any  Error > 
@@ -52,7 +52,13 @@ final class MockLambdaServer {
5252    private  var  channel :  Channel ? 
5353    private  var  shutdown =  false 
5454
55-     init ( behavior:  LambdaServerBehavior ,  host:  String  =  " 127.0.0.1 " ,  port:  Int  =  7000 ,  keepAlive:  Bool  =  true )  { 
55+     init ( 
56+         behavior:  LambdaServerBehavior , 
57+         host:  String  =  " 127.0.0.1 " , 
58+         port:  Int  =  7000 , 
59+         keepAlive:  Bool  =  true , 
60+         eventLoopGroup:  MultiThreadedEventLoopGroup 
61+     )  { 
5662        self . group =  NIOSingletons . posixEventLoopGroup
5763        self . behavior =  behavior
5864        self . host =  host
@@ -233,11 +239,14 @@ final class HTTPHandler: ChannelInboundHandler {
233239            } 
234240        } 
235241
242+         let  loopBoundContext  =  NIOLoopBound ( context,  eventLoop:  context. eventLoop) 
243+ 
236244        context. writeAndFlush ( wrapOutboundOut ( . end( nil ) ) ) . whenComplete  {  result in 
237245            if  case . failure( let  error)  =  result { 
238246                self . logger. error ( " \( self )  write error  \( error) " ) 
239247            } 
240248            if  !self . keepAlive { 
249+                 let  context  =  loopBoundContext. value
241250                context. close ( ) . whenFailure  {  error in 
242251                    self . logger. error ( " \( self )  close error  \( error) " ) 
243252                } 
0 commit comments