@@ -322,16 +322,15 @@ def _detach(self, transport):
322322            self ._wakeup ()
323323
324324    def  _wakeup (self ):
325-         match  self ._state :
326-             case  _ServerState .SHUTDOWN :
327-                 # gh109564: the wakeup method has two possible call-sites, 
328-                 # through an explicit call Server.close(), or indirectly through 
329-                 # Server._detach() by the last connected client. 
330-                 return 
331-             case  _ServerState .INITIALIZED  |  _ServerState .SERVING :
332-                 raise  RuntimeError ("cannot wakeup server before closing" )
333-             case  _ServerState .CLOSED :
334-                 self ._state  =  _ServerState .SHUTDOWN 
325+         if  self ._state  ==  _ServerState .CLOSED :
326+             self ._state  =  _ServerState .SHUTDOWN 
327+         elif  self ._state  ==  _ServerState .SHUTDOWN :
328+             # gh109564: the wakeup method has two possible call-sites, 
329+             # through an explicit call Server.close(), or indirectly through 
330+             # Server._detach() by the last connected client. 
331+             return 
332+         else :
333+             raise  RuntimeError (f"server { self !r}  )
335334
336335        waiters  =  self ._waiters 
337336        self ._waiters  =  None 
@@ -340,13 +339,12 @@ def _wakeup(self):
340339                waiter .set_result (None )
341340
342341    def  _start_serving (self ):
343-         match  self ._state :
344-             case  _ServerState .SERVING :
345-                 return 
346-             case  _ServerState .CLOSED  |  _ServerState .SHUTDOWN :
347-                 raise  RuntimeError (f'server { self !r}  )
348-             case  _ServerState .INITIALIZED :
349-                 self ._state  =  _ServerState .SERVING 
342+         if  self ._state  ==  _ServerState .INITIALIZED :
343+             self ._state  =  _ServerState .SERVING 
344+         elif  self ._state  ==  _ServerState .SERVING :
345+             return 
346+         else :
347+             raise  RuntimeError (f'server { self !r}  )
350348
351349        for  sock  in  self ._sockets :
352350            sock .listen (self ._backlog )
@@ -368,12 +366,10 @@ def sockets(self):
368366        return  tuple (trsock .TransportSocket (s ) for  s  in  self ._sockets )
369367
370368    def  close (self ):
371-         match  self ._state :
372-             case  _ServerState .CLOSED  |  _ServerState .SHUTDOWN :
373-                 # Shutdown state can only be reached after closing. 
374-                 return 
375-             case  _:
376-                 self ._state  =  _ServerState .CLOSED 
369+         if  self ._state  ==  _ServerState .CLOSED  or  self ._state  ==  _ServerState .SHUTDOWN :
370+             return 
371+         else :
372+             self ._state  =  _ServerState .CLOSED 
377373
378374        sockets  =  self ._sockets 
379375        if  sockets  is  None :
0 commit comments