#NEWLINE# @ apiproxy_stub . Synchronized #NEWLINE# def disconnect_channel_event( self , client_id ) : #NEWLINE# #INDENT# 'Removes the channel from the list of connected channels.' #NEWLINE# self . _log ( 'Removing channel %s' , client_id ) #NEWLINE# if ( client_id in self . _connected_channel_messages ) : #NEWLINE# #INDENT# del self . _connected_channel_messages [ client_id ] #NEWLINE# #UNINDENT# self . request_data . get_dispatcher ( ) . add_async_request ( 'POST' , '/_ah/channel/disconnected/' , [ ( 'Content-Type' , 'application/x-www-form-urlencoded' ) ] , ( 'from=%s' % client_id ) , ChannelServiceStub . XMPP_PUBLIC_IP )