#########################################
####      Logging Configuration      ####
#########################################

# Path where the logfile will be created
logfilePath        = /space/projects/zeromq-data-transfer/logs
#logfilePath        = /home/kuhnm/Arbeit/zeromq-data-transfer/logs
#logfilePath        = /home/p11user/zeromq-data-transfer/logs
#logfilePath        = /home/p11user/live-viewer/logs

# Filename used for logging
logfileName        = dataManager.log

# File size before rollover in B (linux only)
logfileSize        = 10485760 ; #10 MB

# Name with which the service should be running
procname           = zeromq-data-transfer

#########################################
####   SignalHandler Configuration   ####
#########################################

# Port number to receive signals from
comPort            = 50000

# List of hosts allowed to connect
whitelist          = ["localhost", "zitpcx19282", "zitpcx22614", "lsdma-lab04", "haspp11eval01", "it-hpc-cxi03"]
#whitelist          = ["localhost", "haspp11eval01", "it-hpc-cxi03"]

# ZMQ port to get new requests
requestPort        = 50001

# ZMQ port to forward requests
# (needed if running on Windows)
requestFwPort      = 50002

# ZMQ port to disribute control signals
# (needed if running on Windows)
controlPubPort     = 50005
controlSubPort     = 50006

#########################################
####   EventDetector Configuration   ####
#########################################

# Type of event detector to use (options are: InotifyxDetector, WatchdogDetector, ZmqDetector, HttpGetDetector)
eventDetectorType  = InotifyxDetector
#eventDetectorType  = WatchdogDetector
#eventDetectorType  = ZmqDetector
#eventDetectorType  = HttpDetector

# Subdirectories to be monitored and to store data to
# (needed if eventDetector is InotifyxDetector or WatchdogDetector or dataFetcher is getFromFile)
fixSubdirs         = ["commissioning", "current", "local"]

# Directory to be monitor for changes
# Inside this directory only the subdirectories "commissioning", "current" and "local" are monitored
# (needed if eventDetector is InotifyxDetector or WatchdogDetector)
monitoredDir       = /space/projects/zeromq-data-transfer/data/source
#monitoredDir       = /home/kuhnm/Arbeit/zeromq-data-transfer/data/source
#monitoredDir       = /rd

# Event type of files to be monitored (options are: IN_CLOSE_WRITE, IN_MOVED_TO, ...)
# (needed if eventDetector is InotifyxDetector or WatchdogDetector)
monitoredEventType = IN_CLOSE_WRITE
#monitoredEventType  = IN_MOVED_TO
# The formats to be monitored, files in an other format will be be neglected
# (needed if eventDetector is InotifyxDetector or WatchdogDetector)
monitoredFormats   = [".tif", ".cbf"]

# Number of events stored to look for doubles
# (needed if eventDetector is InotifyxDetector or HttpDetector)
historySize        = 0

# Time (in seconds) since last modification after which a file will be seen as closed
# (needed if eventDetector is WatchdogDetector)
timeTillClosed     = 2

# ZMQ port to get events from
# (needed if eventDetectorType is ZmqDetector)
eventPort          = 50003

# Tango device proxy for the detector
# (needed if eventDetectorType is HttpDetector)
#detectorDevice     = "haspp10lab:10000/p10/eigerdectris/lab.01"
detectorDevice     = haspp06:10000/p06/eigerdectris/exp.01
# Tango device proxy for the filewriter
# (needed if eventDetectorType is HttpDetector)
#filewriterDevice   = "haspp10lab:10000/p10/eigerfilewriter/lab.01"
filewriterDevice   = haspp06:10000/p06/eigerfilewriter/exp.01


#########################################
####    DataFetcher Configuration    ####
#########################################

# Module with methods specifying how to get the data (options are "getFromFile", "getFromZmq", "getFromHttp")
dataFetcherType    = getFromFile
#dataFetcherType    = getFromZmq
#dataFetcherType    = getFromHttp

# If "getFromZmq" is specified as dataFetcherType it needs a port to listen to
# (needed if eventDetectorType is ZmqDetector)
dataFetcherPort    = 50010

# Number of parallel data streams
# if this number is modifified, the port numbers also have to be adjusted
numberOfStreams    = 1

# Enable ZMQ pipe into storage system (uses the fixedStreamHost and fixedStreamPort)
useDataStream      = False
# Fixed host to send the data to with highest priority
fixedStreamHost    = zitpcx19282
# Fixed Port to send the data to with highest priority
fixedStreamPort    = 50100

# Chunk size of file-parts getting send via zmq
chunkSize          = 10485760 ; # = 1024*1024*10
#chunkSize          = 1073741824 ; # = 1024*1024*1024

# ZMQ-router port which coordinates the load-balancing to the worker-processes
# (needed if running on Windows)
routerPort         = 50004

# Target to move the files into
localTarget        = /space/projects/zeromq-data-transfer/data/target
#localTarget       = /home/kuhnm/Arbeit/zeromq-data-transfer/data/target
#localTarget       = /gpfs

# Flag describing if the data should be stored in localTarget
# (needed if dataFetcherType is getFromFile or getFromHttp)
storeData          = True

# Flag describing if the files should be removed from the source
# (needed if dataFetcherType is getFromHttp)
removeData         = True
