summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLassi Marttala <lassi.lm.marttala@partner.bmw.com>2012-03-14 10:29:46 +0100
committerChristian Muck <christian.muck@bmw.de>2012-04-04 14:28:23 +0200
commitbd2b96363d98b35641567318b3ca568cf72cc593 (patch)
tree85baa51da5bd4751fda850120cf53ce78bc54446
parent7dd2c3ba1a2ba499091a07264cff61b2156f76d6 (diff)
downloadDLT-daemon-bd2b96363d98b35641567318b3ca568cf72cc593.tar.gz
GDLT-2, Allow for enabling/disabling compression for the separate
directories. Signed-off-by: Christian Muck <christian.muck@bmw.de>
-rw-r--r--src/system/dlt-system-log.c31
-rwxr-xr-xsrc/system/dlt-system.c12
-rw-r--r--src/system/dlt-system.conf7
-rw-r--r--src/system/dlt-system.h3
4 files changed, 37 insertions, 16 deletions
diff --git a/src/system/dlt-system-log.c b/src/system/dlt-system-log.c
index 9e56182..0c00154 100644
--- a/src/system/dlt-system-log.c
+++ b/src/system/dlt-system-log.c
@@ -230,6 +230,16 @@ void dlt_system_filetransfer_run(DltSystemOptions *options,DltSystemRuntime *run
time_oldest = status.st_mtime;
strcpy(runtime->filetransferFile,filename);
runtime->filetransferFilesize = status.st_size;
+
+ /* Compress the file if required */
+ if(options->FiletransferCompression1 > 0)
+ {
+ printf("Start compression: %s\n",runtime->filetransferFile);
+ if(dlt_system_compress_file(runtime->filetransferFile, options->FiletransferCompressionLevel) < 0)
+ {
+ return;
+ }
+ }
}
}
}
@@ -246,7 +256,17 @@ void dlt_system_filetransfer_run(DltSystemOptions *options,DltSystemRuntime *run
if((time_oldest == 0 || status.st_mtime < time_oldest) && (status.st_size != 0) && !dlt_system_is_z_file(filename)) {
time_oldest = status.st_mtime;
strcpy(runtime->filetransferFile,filename);
- runtime->filetransferFilesize = status.st_size;
+ runtime->filetransferFilesize = status.st_size;
+
+ /* Compress the file if required */
+ if(options->FiletransferCompression2 > 0)
+ {
+ printf("Start compression: %s\n",runtime->filetransferFile);
+ if(dlt_system_compress_file(runtime->filetransferFile, options->FiletransferCompressionLevel) < 0)
+ {
+ return;
+ }
+ }
}
}
}
@@ -256,15 +276,6 @@ void dlt_system_filetransfer_run(DltSystemOptions *options,DltSystemRuntime *run
/* start filetransfer if file exists */
if(runtime->filetransferFile[0]) {
- /* Compress the file if required */
- if(options->FiletransferCompression > 0)
- {
- printf("Start compression: %s\n",runtime->filetransferFile);
- if(dlt_system_compress_file(runtime->filetransferFile, options->FiletransferCompressionLevel) < 0)
- {
- return;
- }
- }
printf("Start Filetransfer: %s\n",runtime->filetransferFile);
runtime->filetransferCountPackages = dlt_user_log_file_packagesCount(context,runtime->filetransferFile);
if(runtime->filetransferCountPackages < 0 )
diff --git a/src/system/dlt-system.c b/src/system/dlt-system.c
index 1d68ecd..d1bffad 100755
--- a/src/system/dlt-system.c
+++ b/src/system/dlt-system.c
@@ -108,7 +108,8 @@ void dlt_system_init_options(DltSystemOptions *options)
/* Filetransfer */
options->FiletransferEnable = 0;
- options->FiletransferCompression = 0;
+ options->FiletransferCompression1 = 1;
+ options->FiletransferCompression2 = 0;
options->FiletransferCompressionLevel = 5;
strncpy(options->FiletransferContextId,DEFAULT_FILETRANSFER_CONTEXT_ID,sizeof(options->FiletransferContextId));
strncpy(options->FiletransferDirectory1,DEFAULT_FILETRANSFER_DIRECTORY,sizeof(options->FiletransferDirectory1));
@@ -255,9 +256,14 @@ int dlt_system_parse_configuration(DltSystemOptions *options)
options->FiletransferEnable = atoi(value);
printf("Option: %s=%s\n",token,value);
}
- else if(strcmp(token,"FiletransferCompression")==0)
+ else if(strcmp(token,"FiletransferCompression1")==0)
{
- options->FiletransferCompression = atoi(value);
+ options->FiletransferCompression1 = atoi(value);
+ printf("Option: %s=%s\n",token,value);
+ }
+ else if(strcmp(token,"FiletransferCompression2")==0)
+ {
+ options->FiletransferCompression2 = atoi(value);
printf("Option: %s=%s\n",token,value);
}
else if(strcmp(token,"FiletransferCompressionLevel")==0)
diff --git a/src/system/dlt-system.conf b/src/system/dlt-system.conf
index 779894d..2ed14cb 100644
--- a/src/system/dlt-system.conf
+++ b/src/system/dlt-system.conf
@@ -28,8 +28,11 @@ SyslogPort = 47111
# Enable the Filetransfer (Default: 0)
FiletransferEnable = 0
-# Enable the file transfer compression with zlib
-FiletransferCompression = 0
+# Enable the file transfer compression with zlib
+# You can enable or disable it for FiletransferDirectory 1 and 2
+# separately.
+FiletransferCompression1 = 1
+FiletransferCompression2 = 0
FiletransferCompressionLevel = 5
# Directory which contains files to be transfered over DLT (Default: /tmp/filetransfer)
diff --git a/src/system/dlt-system.h b/src/system/dlt-system.h
index a49ce5a..394da34 100644
--- a/src/system/dlt-system.h
+++ b/src/system/dlt-system.h
@@ -74,7 +74,8 @@ typedef struct {
int SyslogPort; /*# The UDP port opened by DLT system mamager to receive system logs (Default: 47111)*/
int FiletransferEnable; /*# Enable the Filetransfer (Default: 0)*/
- int FiletransferCompression; /*# Enable the Filetransfer compression (Default: 0)*/
+ int FiletransferCompression1; /*# Enable the Filetransfer compression for dir 1 (Default: 1)*/
+ int FiletransferCompression2; /*# Enable the Filetransfer compression for dir 2 (Default: 0)*/
int FiletransferCompressionLevel; /*# Set the compression level between 0-9 (Default: 5)*/
char FiletransferDirectory1[256]; /*# Directory which contains files to be transfered over DLT (Default: /tmp/filetransfer)# Files are deleted after Filetransfer is finished and after TimeDelay expired*/
char FiletransferDirectory2[256];