strncpy(daemon_local->flags.loggingFilename, DLT_USER_DIR "/dlt.log",sizeof(daemon_local->flags.loggingFilename)-1);
daemon_local->flags.loggingFilename[sizeof(daemon_local->flags.loggingFilename)-1]=0;
daemon_local->timeoutOnSend = 4;
+ daemon_local->RingbufferMinSize = DLT_DAEMON_RINGBUFFER_MIN_SIZE;
+ daemon_local->RingbufferMaxSize = DLT_DAEMON_RINGBUFFER_MAX_SIZE;
+ daemon_local->RingbufferStepSize = DLT_DAEMON_RINGBUFFER_STEP_SIZE;
daemon_local->flags.sendECUSoftwareVersion = 0;
memset(daemon_local->flags.pathToECUSoftwareVersion, 0, sizeof(daemon_local->flags.pathToECUSoftwareVersion));
daemon_local->flags.sendTimezone = 0;
daemon_local->timeoutOnSend = atoi(value);
//printf("Option: %s=%s\n",token,value);
}
+ else if(strcmp(token,"RingbufferMinSize")==0)
+ {
+ sscanf(value,"%lu",&(daemon_local->RingbufferMinSize));
+ }
+ else if(strcmp(token,"RingbufferMaxSize")==0)
+ {
+ sscanf(value,"%lu",&(daemon_local->RingbufferMaxSize));
+ }
+ else if(strcmp(token,"RingbufferStepSize")==0)
+ {
+ sscanf(value,"%lu",&(daemon_local->RingbufferStepSize));
+ }
else if(strcmp(token,"SharedMemorySize")==0)
{
daemon_local->flags.sharedMemorySize = atoi(value);
}
/* Daemon data */
- if (dlt_daemon_init(daemon,daemon_local->flags.ivalue,daemon_local->flags.vflag)==-1)
+ if (dlt_daemon_init(daemon,daemon_local->RingbufferMinSize,daemon_local->RingbufferMaxSize,daemon_local->RingbufferStepSize,daemon_local->flags.ivalue,daemon_local->flags.vflag)==-1)
{
dlt_log(LOG_ERR,"Could not initialize daemon data\n");
return -1;
int timer_wd; /** file descriptor for watchdog timer */\r
#endif\r
int timeoutOnSend;\r
+ unsigned long RingbufferMinSize;\r
+ unsigned long RingbufferMaxSize;\r
+ unsigned long RingbufferStepSize;\r
int timer_one_s;\r
int timer_sixty_s;\r
} DltDaemonLocal;\r
# Timeout on send to client (sec)
TimeOutOnSend = 4
+# The minimum size of the Ringbuffer, used for storing temporary DLT messages, until client is connected (Default: 500000)
+RingbufferMinSize = 500000
+
+# The max size of the Ringbuffer, used for storing temporary DLT messages, until client is connected (Default: 10000000)
+RingbufferMaxSize = 10000000
+
+# The step size the Ringbuffer is increased, used for storing temporary DLT messages, until client is connected (Default: 500000)
+RingbufferStepSize = 500000
+
########################################################################
# Offline Trace memory #
########################################################################
return ret;
}
-int dlt_daemon_init(DltDaemon *daemon,const char *runtime_directory, int verbose)
+int dlt_daemon_init(DltDaemon *daemon,unsigned long RingbufferMinSize,unsigned long RingbufferMaxSize,unsigned long RingbufferStepSize,const char *runtime_directory, int verbose)
{
PRINT_FUNCTION_VERBOSE(verbose);
dlt_set_id(daemon->ecuid,"");
/* initialize ring buffer for client connection */
- if (dlt_buffer_init_dynamic(&(daemon->client_ringbuffer), DLT_DAEMON_RINGBUFFER_MIN_SIZE,DLT_DAEMON_RINGBUFFER_MAX_SIZE,DLT_DAEMON_RINGBUFFER_STEP_SIZE)==-1)
+ snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE,"Ringbuffer configuration: %lu/%lu/%lu\n", RingbufferMinSize,RingbufferMaxSize,RingbufferStepSize );
+ dlt_log(LOG_INFO, str);
+ if (dlt_buffer_init_dynamic(&(daemon->client_ringbuffer), RingbufferMinSize,RingbufferMaxSize,RingbufferStepSize)==-1)
{
return -1;
}
* Initialise the dlt daemon structure\r
* This function must be called before using further dlt daemon structure\r
* @param daemon pointer to dlt daemon structure\r
+ * @param RingbufferMinSize ringbuffer size\r
+ * @param RingbufferMaxSize ringbuffer size\r
+ * @param RingbufferStepSize ringbuffer size\r
* @param runtime_directory Directory of persistent configuration\r
* @param verbose if set to true verbose information is printed out.\r
* @return negative value if there was an error\r
*/\r
-int dlt_daemon_init(DltDaemon *daemon,const char *runtime_directory,int verbose);\r
+int dlt_daemon_init(DltDaemon *daemon,unsigned long RingbufferMinSize,unsigned long RingbufferMaxSize,unsigned long RingbufferStepSize,const char *runtime_directory,int verbose);\r
/**\r
* De-Initialise the dlt daemon structure\r
* @param daemon pointer to dlt daemon structure\r