kafka-device-vrpn 0.1.5.0 → 0.2.1.2
raw patch · 3 files changed
+13/−21 lines, 3 filesdep −milenadep ~kafka-devicedep ~vrpn
Dependencies removed: milena
Dependency ranges changed: kafka-device, vrpn
Files
- kafka-device-vrpn.cabal +5/−7
- src/Main.hs +3/−5
- src/Network/UI/Kafka/VRPN.hs +5/−9
kafka-device-vrpn.cabal view
@@ -1,19 +1,19 @@ name: kafka-device-vrpn-version: 0.1.5.0+version: 0.2.1.2 synopsis: VRPN events via a Kafka message broker description: This package contains functions for passing VRPN \<<https://github.com/vrpn/vrpn/wiki>\> events to topics on a Kafka message broker \<<https://kafka.apache.org/>\>. Also see \<<https://hackage.haskell.org/package/kafka-device/>\>. license: MIT license-file: LICENSE author: Brian W Bush <consult@brianwbush.info> maintainer: Brian W Bush <consult@brianwbush.info>-copyright: (c) 2016 Brian W Bush+copyright: (c) 2016-17 Brian W Bush category: Network build-type: Simple cabal-version: >= 1.10 stability: Experimental homepage: https://bitbucket.org/functionally/kafka-device-vrpn bug-reports: https://bwbush.atlassian.net/projects/HKAFDEV/issues/-package-url: https://bitbucket.org/functionally/kafka-device-vrpn/downloads/kafka-device-vrpn-0.1.5.0.tar.gz+package-url: https://bitbucket.org/functionally/kafka-device-vrpn/downloads/kafka-device-vrpn-$version.tar.gz extra-source-files: ReadMe.md @@ -24,9 +24,8 @@ library exposed-modules: Network.UI.Kafka.VRPN build-depends: base >= 4.8 && < 5- , kafka-device- , milena- , vrpn+ , kafka-device >= 0.2.1.2+ , vrpn >= 0.2.1 hs-source-dirs: src ghc-options: -Wall default-language: Haskell2010@@ -35,7 +34,6 @@ main-is: Main.hs build-depends: base , kafka-device- , milena , vrpn hs-source-dirs: src ghc-options: -Wall
src/Main.hs view
@@ -1,6 +1,6 @@ {-| Module : Main-Copyright : (c) 2016 Brian W Bush+Copyright : (c) 2016-17 Brian W Bush License : MIT Maintainer : Brian W Bush <consult@brianwbush.info> Stability : Experimental@@ -16,7 +16,7 @@ ) where -import Data.String (fromString)+import Network.UI.Kafka (TopicConnection(TopicConnection)) import Network.UI.Kafka.VRPN (vrpnLoop) import System.Environment (getArgs) @@ -40,9 +40,7 @@ (_, loop) <- vrpnLoop device- (fromString client)- (fromString host, toEnum $ read port)- (fromString topic)+ (TopicConnection client (host, read port) topic) sensor callbacks result <- loop
src/Network/UI/Kafka/VRPN.hs view
@@ -1,6 +1,6 @@ {-| Module : Network.UI.Kafka.VRPN-Copyright : (c) 2016 Brian W Bush+Copyright : (c) 2016-17 Brian W Bush License : MIT Maintainer : Brian W Bush <consult@brianwbush.info> Stability : Experimental@@ -18,9 +18,7 @@ import Control.Concurrent (MVar, forkIO, isEmptyMVar, newEmptyMVar, putMVar, takeMVar) import Control.Monad (void, zipWithM_)-import Network.Kafka (KafkaAddress, KafkaClientId)-import Network.Kafka.Protocol (TopicName)-import Network.UI.Kafka (ExitAction, LoopAction, Sensor, producerLoop)+import Network.UI.Kafka (ExitAction, LoopAction, Sensor, TopicConnection, producerLoop) import Network.UI.Kafka.Types (Button(..), Event(..)) import qualified Network.VRPN as V@@ -41,13 +39,11 @@ -- | Produce events for a Kafka topic from VRPN callbacks \<<https://hackage.haskell.org/package/vrpn/docs/Network-VRPN.html>\>. vrpnLoop :: String -- ^ The VRPN host, e.g. spacenav0@localhost.- -> KafkaClientId -- ^ A Kafka client identifier for the producer.- -> KafkaAddress -- ^ The address of the Kafka broker.- -> TopicName -- ^ The Kafka topic name.+ -> TopicConnection -- ^ The Kafka topic name and connection information. -> Sensor -- ^ The name of the sensor producing events. -> [VrpnCallback] -- ^ Which callbacks to enable. -> IO (ExitAction, LoopAction) -- ^ Action to create the exit and loop actions.-vrpnLoop device clientId address topic sensor callbacks =+vrpnLoop device topicConnection sensor callbacks = do exitNow <- newEmptyMVar nextEvent <- newEmptyMVar@@ -61,7 +57,7 @@ , (Dial , V.Dial device (Just $ dialCallback nextEvent) ) ] (exit, loop) <-- producerLoop clientId address topic sensor+ producerLoop topicConnection sensor $ (: []) <$> takeMVar nextEvent return