gameServer/OfficialServer/DBInteraction.hs
branch0.9.14
changeset 4242 5e3c5fe2cb14
parent 3671 a94d1dc4a8d9
child 4295 1f5604cd99be
child 4334 82cfbbab73da
equal deleted inserted replaced
4241:835fd7a0e1bf 4242:5e3c5fe2cb14
     1 {-# LANGUAGE CPP, ScopedTypeVariables, OverloadedStrings #-}
     1 {-# LANGUAGE CPP, ScopedTypeVariables #-}
     2 module OfficialServer.DBInteraction
     2 module OfficialServer.DBInteraction
     3 (
     3 (
     4     startDBConnection
     4     startDBConnection
     5 ) where
     5 ) where
     6 
     6 
     9 import System.IO
     9 import System.IO
    10 import Control.Concurrent
    10 import Control.Concurrent
    11 import qualified Control.Exception as Exception
    11 import qualified Control.Exception as Exception
    12 import Control.Monad
    12 import Control.Monad
    13 import qualified Data.Map as Map
    13 import qualified Data.Map as Map
    14 import Data.Maybe
    14 import Monad
       
    15 import Maybe
    15 import System.Log.Logger
    16 import System.Log.Logger
    16 import Data.Time
    17 import Data.Time
    17 ------------------------
    18 ------------------------
    18 import CoreTypes
    19 import CoreTypes
    19 import Utils
    20 import Utils
    20 
    21 
    21 localAddressList = ["127.0.0.1", "0:0:0:0:0:0:0:1", "0:0:0:0:0:ffff:7f00:1"]
    22 localAddressList = ["127.0.0.1", "0:0:0:0:0:0:0:1", "0:0:0:0:0:ffff:7f00:1"]
    22 
    23 
    23 fakeDbConnection serverInfo = forever $ do
    24 fakeDbConnection serverInfo = do
    24     q <- readChan $ dbQueries serverInfo
    25     q <- readChan $ dbQueries serverInfo
    25     case q of
    26     case q of
    26         CheckAccount clUid _ clHost -> do
    27         CheckAccount clUid _ clHost -> do
    27             writeChan (coreChan serverInfo) $ ClientAccountInfo (clUid,
    28             writeChan (coreChan serverInfo) $ ClientAccountInfo (clUid,
    28                 if clHost `elem` localAddressList then Admin else Guest)
    29                 if clHost `elem` localAddressList then Admin else Guest)
    29         ClearCache -> return ()
    30         ClearCache -> return ()
    30         SendStats {} -> return ()
    31         SendStats {} -> return ()
       
    32 
       
    33     fakeDbConnection serverInfo
    31 
    34 
    32 
    35 
    33 #if defined(OFFICIAL_SERVER)
    36 #if defined(OFFICIAL_SERVER)
    34 pipeDbConnectionLoop queries coreChan hIn hOut accountsCache =
    37 pipeDbConnectionLoop queries coreChan hIn hOut accountsCache =
    35     Exception.handle (\(e :: Exception.IOException) -> warningM "Database" (show e) >> return accountsCache) $
    38     Exception.handle (\(e :: Exception.IOException) -> warningM "Database" (show e) >> return accountsCache) $