1. Fixed issue with length field of keep-alive packet
2. Extended amount of elements in RingBuffer, reduced item length 3. Added system information into keep-alive 4. Updated version number
This commit is contained in:
parent
092c1c22d4
commit
8798385d40
4 changed files with 21 additions and 13 deletions
|
@ -17,6 +17,7 @@
|
|||
#include <signal.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/utsname.h>
|
||||
|
||||
#ifdef USE_OPENSSL
|
||||
#include <openssl/sha.h>
|
||||
|
@ -121,9 +122,9 @@
|
|||
#endif
|
||||
|
||||
|
||||
#define MODE_CONSOLE (1 << 0)
|
||||
#define MODE_SYSLOG (1 << 1)
|
||||
#define MODE_DAEMON (1 << 2)
|
||||
#define MODE_CONSOLE (1 << 0)
|
||||
#define MODE_SYSLOG (1 << 1)
|
||||
#define MODE_DAEMON (1 << 2)
|
||||
|
||||
#define EVENT_LIST_LENGTH (4 + 2 + 4)
|
||||
|
||||
|
@ -516,7 +517,7 @@ int main(int argc, const char* argv[])
|
|||
struct RingBuffer ringBuffers[2];
|
||||
memset(ringBuffers, 0, sizeof(ringBuffers));
|
||||
|
||||
uint32_t sequenceNumbers[] =
|
||||
uint32_t sequenceNumbers[] =
|
||||
{
|
||||
0,
|
||||
0,
|
||||
|
@ -524,6 +525,9 @@ int main(int argc, const char* argv[])
|
|||
0
|
||||
};
|
||||
|
||||
struct utsname systemName;
|
||||
uname(&systemName);
|
||||
|
||||
// Main loop
|
||||
|
||||
bool running = true;
|
||||
|
@ -801,12 +805,16 @@ int main(int argc, const char* argv[])
|
|||
|
||||
data->number = htole32(repeaterNumber);
|
||||
data->service = REWIND_SERVICE_CRONOS_AGENT;
|
||||
length += sprintf(data->description, "CronosAgent " STRING(VERSION) " " BUILD);
|
||||
|
||||
length += sprintf(data->description,
|
||||
"CronosAgent " STRING(VERSION) " %s %s " BUILD,
|
||||
systemName.sysname,
|
||||
systemName.machine);
|
||||
|
||||
outgoingBuffer->type = htole16(REWIND_TYPE_KEEP_ALIVE);
|
||||
outgoingBuffer->flags = htole16(REWIND_FLAG_DEFAULT_SET);
|
||||
outgoingBuffer->number = htole32(++ sequenceNumbers[0]);
|
||||
outgoingBuffer->length = htobe16(length);
|
||||
outgoingBuffer->length = htole16(length);
|
||||
length += sizeof(struct RewindData);
|
||||
sendto(uplinkHandle, outgoingBuffer, length, 0, serverAddress->ai_addr, serverAddress->ai_addrlen);
|
||||
|
||||
|
|
|
@ -20,13 +20,13 @@ void ProcessBuffer(struct RingBuffer* buffer, int handle, struct sockaddr_in* ad
|
|||
{
|
||||
if (buffer->marks == 0)
|
||||
{
|
||||
// Nothing to process
|
||||
return;
|
||||
// Nothing to process
|
||||
return;
|
||||
}
|
||||
|
||||
if (buffer->delay > 0)
|
||||
{
|
||||
// Processing was postponed
|
||||
// Processing was postponed
|
||||
buffer->delay --;
|
||||
return;
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ void ProcessBuffer(struct RingBuffer* buffer, int handle, struct sockaddr_in* ad
|
|||
|
||||
if (buffer->marks & mark)
|
||||
{
|
||||
// Transmit scheduled data
|
||||
// Transmit scheduled data
|
||||
struct BufferRecord* record = buffer->records + buffer->index;
|
||||
sendto(handle, record->data, record->length, 0, (struct sockaddr*)address, sizeof(struct sockaddr_in));
|
||||
// Clear processing mark
|
||||
|
|
|
@ -10,8 +10,8 @@ extern "C"
|
|||
{
|
||||
#endif
|
||||
|
||||
#define DATA_LENGTH 256
|
||||
#define BUFFER_LENGTH 8
|
||||
#define DATA_LENGTH 48
|
||||
#define BUFFER_LENGTH 16
|
||||
|
||||
struct BufferRecord
|
||||
{
|
||||
|
|
|
@ -1 +1 @@
|
|||
#define VERSION 20160806
|
||||
#define VERSION 20160811
|
||||
|
|
Loading…
Add table
Reference in a new issue