Clean up instance and session lifecycle functions
The createInstace, newSession, closeSession and freeSession functions were cleaned up and reorganized to be a bit clearer for the reader. Removed unnecessary comments and replaced them with ones that explain what's happening in the code. Removed unused linked lists from both sessions and instances and replaced them with better alternatives. This should improve performance since new session don't have to acquire the instance level lock to put themselves into the session list.
This commit is contained in:
@ -304,12 +304,10 @@ typedef struct
|
||||
typedef struct router_instance
|
||||
{
|
||||
SERVICE* service; /*< Pointer to service */
|
||||
ROUTER_CLIENT_SES* connections; /*< List of client connections */
|
||||
SPINLOCK lock; /*< Lock for the instance data */
|
||||
rwsplit_config_t rwsplit_config; /*< expanded config info from SERVICE */
|
||||
int rwsplit_version; /*< version number for router's config */
|
||||
ROUTER_STATS stats; /*< Statistics for this router */
|
||||
struct router_instance* next; /*< Next router on the list */
|
||||
bool available_slaves; /*< The router has some slaves avialable */
|
||||
} ROUTER_INSTANCE;
|
||||
|
||||
|
Reference in New Issue
Block a user