from ofp_app import ofp_app, ofp_run
import asyncio


app = ofp_app('conntest')


@app.event('start')
async def start(_):
    while True:
        await asyncio.sleep(1)
        # Obtain a list of connections.
        conns = await app.rpc_call('OFP.LIST_CONNECTIONS', conn_id=0)
        for conn in conns.stats:
            if conn.datapath_id:
                app.logger.info('close %d %s', conn.conn_id, conn.datapath_id)
                result = await app.rpc_call('OFP.CLOSE', datapath_id=conn.datapath_id)
                assert result.count == 1


if __name__ == '__main__':
    ofp_run()

from ofp_app import ofp_app, ofp_run
import asyncio


app = ofp_app('conntest', kill_on_exception=True)


@app.event('start')
async def start(_):
    while True:
        await asyncio.sleep(1)
        # Obtain a list of connections.
        conns = await app.rpc_call('OFP.LIST_CONNECTIONS', conn_id=0)
        for conn in conns.stats:
            if conn.datapath_id:
                app.logger.info('close %d %s', conn.conn_id, conn.datapath_id)
                result = await app.rpc_call('OFP.CLOSE', datapath_id=conn.datapath_id)
                assert result.count == 1


if __name__ == '__main__':
    ofp_run()

Terminate app if handler throws exception.
Terminate app if handler throws exception.

  from ofp_app import ofp_app, ofp_run
  import asyncio
  
  
- app = ofp_app('conntest')
+ app = ofp_app('conntest', kill_on_exception=True)
  
  
  @app.event('start')
  async def start(_):
      while True:
          await asyncio.sleep(1)
          # Obtain a list of connections.
          conns = await app.rpc_call('OFP.LIST_CONNECTIONS', conn_id=0)
          for conn in conns.stats:
              if conn.datapath_id:
                  app.logger.info('close %d %s', conn.conn_id, conn.datapath_id)
                  result = await app.rpc_call('OFP.CLOSE', datapath_id=conn.datapath_id)
                  assert result.count == 1
  
  
  if __name__ == '__main__':
      ofp_run()
  
Terminate app if handler throws exception.
## Code Before:
from ofp_app import ofp_app, ofp_run
import asyncio


app = ofp_app('conntest')


@app.event('start')
async def start(_):
    while True:
        await asyncio.sleep(1)
        # Obtain a list of connections.
        conns = await app.rpc_call('OFP.LIST_CONNECTIONS', conn_id=0)
        for conn in conns.stats:
            if conn.datapath_id:
                app.logger.info('close %d %s', conn.conn_id, conn.datapath_id)
                result = await app.rpc_call('OFP.CLOSE', datapath_id=conn.datapath_id)
                assert result.count == 1


if __name__ == '__main__':
    ofp_run()

## Instruction:
Terminate app if handler throws exception.
## Code After:
from ofp_app import ofp_app, ofp_run
import asyncio


app = ofp_app('conntest', kill_on_exception=True)


@app.event('start')
async def start(_):
    while True:
        await asyncio.sleep(1)
        # Obtain a list of connections.
        conns = await app.rpc_call('OFP.LIST_CONNECTIONS', conn_id=0)
        for conn in conns.stats:
            if conn.datapath_id:
                app.logger.info('close %d %s', conn.conn_id, conn.datapath_id)
                result = await app.rpc_call('OFP.CLOSE', datapath_id=conn.datapath_id)
                assert result.count == 1


if __name__ == '__main__':
    ofp_run()
