|
|
|
@ -1,3 +1,4 @@ |
|
|
|
|
|
|
|
{-# LANGUAGE OverloadedStrings #-} |
|
|
|
|
|
|
|
|
|
|
|
module ATrade.MDS.HistoryServer ( |
|
|
|
module ATrade.MDS.HistoryServer ( |
|
|
|
HistoryServer, |
|
|
|
HistoryServer, |
|
|
|
@ -77,10 +78,9 @@ serveHAP db sock = forever $ do |
|
|
|
_ -> return () |
|
|
|
_ -> return () |
|
|
|
where |
|
|
|
where |
|
|
|
handleCmd :: B.ByteString -> HAPRequest -> [Bar] -> IO () |
|
|
|
handleCmd :: B.ByteString -> HAPRequest -> [Bar] -> IO () |
|
|
|
handleCmd peerId cmd bars = case cmd of |
|
|
|
handleCmd peerId rq bars = do |
|
|
|
rq -> do |
|
|
|
putData db (hapTicker rq) (TimeInterval (hapStartTime rq) (hapEndTime rq)) (Timeframe $ hapTimeframeSec rq) (V.fromList bars) |
|
|
|
putData db (hapTicker rq) (TimeInterval (hapStartTime rq) (hapEndTime rq)) (Timeframe $ hapTimeframeSec rq) (V.fromList bars) |
|
|
|
sendMulti sock $ peerId :| B.empty : ["OK"] |
|
|
|
sendMulti sock $ peerId :| B.empty : ["OK"] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
deserializeBars tickerId input = |
|
|
|
deserializeBars tickerId input = |
|
|
|
case runGetOrFail parseBar input of |
|
|
|
case runGetOrFail parseBar input of |
|
|
|
|