Major Update:

- Updated all Logged messages, standardised DebugLevel:
  - dlNone   - Show startup and stop
  - dlLow    - Show creation/destruction of Function Blocks and Local IO
  - dlMedium - Show connection events, eg. open/close
  - dlHigh   - Show data flow events
-LogCore:
  - LogMessage and ShowOutput uses va_list
    only run printf if DebugLevel correct
  - Remove global LogStr[] variable
- SelectableCore:
  - Implemented Auto-management of handles
    auto open on startup/fail/close
  - Changed simple Open/Close/Read/Write methods to inline
  - Do not set Select Write trigger for server socket
  - Memory leak, setting address twice on RemoteClient
  - Bug fix, only send handle out data if DebugLevel = dlHigh
  - Bug fix, do not Read/ProcessBuffer if no InputBuffer
This commit is contained in:
Charl Wentzel
2016-05-27 13:32:54 +02:00
parent c01c8f5e9b
commit b4073a166a
7 changed files with 127 additions and 183 deletions

View File

@@ -19,7 +19,6 @@
//---------------------------------------------------------------------------
extern char ProcessName[];
extern char LogStr[]; // Access to global temporary log messages string
//---------------------------------------------------------------------------
@@ -40,7 +39,7 @@ CSelect::CSelect( long SelectTimeout )
SetInterval( &Timeout, SelectTimeout );
// Show status
LogMessage( ProcessName, dlMedium, "Select - Created" );
LogMessage( dlLow, "%s: Select - Created", ProcessName );
}
//---------------------------------------------------------------------------
@@ -58,7 +57,7 @@ CSelect::~CSelect()
}
// Show status
LogMessage( ProcessName, dlMedium, "Select - Destroyed" );
LogMessage( dlLow, "%s: Select - Destroyed", ProcessName );
return;
}
//---------------------------------------------------------------------------
@@ -103,8 +102,7 @@ void CSelect::Add( int FD, bool Read, bool Write, CSelectableCore * Function )
FD_SET( FD, &ReadTestFDS );
// Log event
sprintf( LogStr, "FD [%d] - Add Read", FD );
LogMessage( "Select", dlMedium, LogStr );
LogMessage( dlHigh, "Select: FD [%d] - Add Read", FD );
}
// Add Write Select
@@ -113,8 +111,7 @@ void CSelect::Add( int FD, bool Read, bool Write, CSelectableCore * Function )
FD_SET( FD, &WriteTestFDS );
// Log event
sprintf( LogStr, "FD [%d] - Add Write", FD );
LogMessage( "Select", dlMedium, LogStr );
LogMessage( dlHigh, "Select: FD [%d] - Add Write", FD );
}
// Check Maximum File Handle
@@ -142,8 +139,7 @@ void CSelect::Remove( int FD, bool Read, bool Write )
FD_CLR( FD, &ReadTestFDS);
// Log event
sprintf( LogStr, "FD [%d] - Remove Read", FD );
LogMessage( "Select", dlMedium, LogStr );
LogMessage( dlHigh, "Select: FD [%d] - Remove Read", FD );
}
// Remove from set for select write check
@@ -152,8 +148,7 @@ void CSelect::Remove( int FD, bool Read, bool Write )
FD_CLR( FD, &WriteTestFDS);
// Log event
sprintf( LogStr, "FD [%d] - Remove Write", FD );
LogMessage( "Select", dlMedium, LogStr );
LogMessage( dlHigh, "Select: FD [%d] - Remove Write", FD );
}
// Handle will be removed in Test() if both Read & Write flags are false
}
@@ -174,7 +169,7 @@ bool CSelect::Test()
Events = select( MaxFD, &ReadFDS, &WriteFDS, (fd_set*)NULL, &Timeout );
if (Events < 0)
{
LogMessage( "Select", dlMedium, "Select operation failed" );
LogMessage( dlHigh, "Select: Select operation failed" );
return false;
}