update stellar thread main loop
This commit is contained in:
@@ -49,20 +49,27 @@ struct session_manager_options
|
||||
struct session_manager;
|
||||
struct session_manager *session_manager_new(struct session_manager_options *opts);
|
||||
void session_manager_free(struct session_manager *mgr);
|
||||
struct session *session_manager_lookup_session(struct session_manager *mgr, const struct packet *pkt);
|
||||
|
||||
// only use the packet six-tuple to find the session, not update it
|
||||
struct session *session_manager_lookup_sesssion(struct session_manager *mgr, const struct packet *pkt);
|
||||
/*
|
||||
* Return NULL in the following cases:
|
||||
* 1.not a TCP or UDP packet
|
||||
* 2.TCP packet miss session but no syn packet seen
|
||||
* 3.TCP duplicate packet
|
||||
* 4.TCP discards packets
|
||||
* 5.UDP evict packet
|
||||
* pakcet will not update the session and needs to be fast forwarded
|
||||
* return NULL following case:
|
||||
* 1.Not TCP or UDP
|
||||
* 2.UDP eviction packet
|
||||
* 3.UDP overloading and config to bypass new session
|
||||
* 4.TCP no SYN flag
|
||||
* 5.UDP overloading and config to bypass new session
|
||||
*/
|
||||
struct session *session_manager_update_session(struct session_manager *mgr, const struct packet *pkt);
|
||||
struct session *session_manager_new_session(struct session_manager *mgr, const struct packet *pkt);
|
||||
void session_manager_free_session(struct session_manager *mgr, struct session *sess);
|
||||
/*
|
||||
* return NULL following case:
|
||||
* 1.Not TCP or UDP
|
||||
* 2.TCP duplicate packet
|
||||
*/
|
||||
int session_manager_update_session(struct session_manager *mgr, struct session *sess, const struct packet *pkt);
|
||||
// return session need free by session_manager_free_session()
|
||||
struct session *session_manager_get_expired_session(struct session_manager *mgr);
|
||||
// return session need free by session_manager_free_session()
|
||||
struct session *session_manager_get_evicted_session(struct session_manager *mgr);
|
||||
// return 0: have already timeout session
|
||||
// return >0: next expire interval
|
||||
|
||||
Reference in New Issue
Block a user