# Example of the librpma_gpspm_server job

[global]
ioengine=librpma_gpspm_server
create_serialize=0 # (required) forces specific initiation sequence
kb_base=1000 # turn on the straight units handling (non-compatibility mode)
serverip=[serverip] #IP address to listen on
port=7204 # port(s) the server jobs will listen on, ports <port; port + numjobs - 1> will be used
thread

# The server side spawns one thread for each expected connection from
# the client-side, opens and registers the range dedicated for this thread
# (a workspace) from the provided memory.
# Each of the server threads accepts a connection on the dedicated port
# (different for each and every working thread), accepts and executes flush
# requests, and sends back a flush response for each of the requests.
# When the client is done it sends the termination notice to the server's thread.

[server]
# set to 1 (true) ONLY when Direct Write to PMem from the remote host is possible
# (https://pmem.io/rpma/documentation/basic-direct-write-to-pmem.html)
direct_write_to_pmem=0
# set to 0 (false) to wait for completion instead of busy-wait polling completion.
busy_wait_polling=1
numjobs=1 # number of expected incoming connections
iodepth=2 # number of parallel GPSPM requests
size=100MiB # size of workspace for a single connection
filename=malloc # device dax or an existing fsdax file or "malloc" for allocation from DRAM
# filename=/dev/dax1.0

# The client will terminate the server when the client will end up its job.
time_based
runtime=365d
