{-# LANGUAGE Arrows #-} module Main where import Nettle.FRPControl.NettleSF import Nettle.FRPControl.NetInfo import Nettle.OpenFlow.Switch main :: IO () main = simpleNettleDriver 2525 controller -- A controller that periodically prints a list of switches connected to the controller. controller = proc msgE -> do netInfoCmdE <- networkInfoRequester defaultMonitorPolicy -< msgE clock <- repeatedly 1 () -< () netInfo <- switchInfo -< msgE returnA -< (netInfoCmdE, tag clock (show (switchTable netInfo)))