nettle-frp-0.1: src/Examples/AFRPControl/TrackSwitches.hs
{-# 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)))