packages feed

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)))