Пример #1
0
KineticClient * KineticClient_Init(KineticClientConfig *config)
{
    KineticLogger_Init(config->logFile, config->logLevel);
    KineticClient * client = KineticCalloc(1, sizeof(*client));
    if (client == NULL) { 
        KineticLogger_Close();
        return NULL; 
    }

    /* Use defaults if set to 0. */
    if (config->readerThreads == 0) {
        config->readerThreads = KINETIC_CLIENT_DEFAULT_READER_THREADS;
    }
    if (config->maxThreadpoolThreads == 0) {
        config->maxThreadpoolThreads = KINETIC_CLIENT_DEFAULT_MAX_THREADPOOL_THREADS;
    }

    bool success = KineticBus_Init(client, config);
    if (!success) {
        KineticFree(client);
        KineticLogger_Close();
        return NULL;
    }
    return client;
}
Пример #2
0
void KineticClient_Shutdown(KineticClient * const client)
{
    KineticBus_Shutdown(client);
    KineticFree(client);
    KineticLogger_Close();
}