总线接收事件并将其发送给所有已注册的侦听器listener。
bus_tj解析:
add_listener:
添加一个listener到总线;发往总线收到的所有消息会经由总线转发给所有的listener。日志logger_t和这些listener区分开开,单独处理。
remove_listener:
add_listener反向操作;add_logger:
向bus注册一个logger,记录器logger是被动的;发出事件的线程处理 Logger 例程,此例程可由多个线程并发调用。不会阻止递归调用,因此可能导致递归调用的 Logger 负责避免无限循环。在注册期间,将对所有日志组调用 get_level(),并注册记录器以接收请求的日志级别> LEVEL_SILENT且其级别低于或等于请求的级别的组的日志消息。要更新已注册的日志级别,请使用同一 logger 再次调用 add_logger 并从 get_level() 返回新级别。remove_logger:
add_logger反向操作;set_sa:
设置调用线程正在使用的 IKE_SA。要将收到的日志消息与IKE_SA关联,而不每次都将其作为参数传递,线程会在签出期间注册当前使用的IKE_SA。在签入之前,线程会取消注册 IKE_SA。此IKE_SA按线程存储,因此每个线程都有自己的注册IKE_SA?get_sa:
获取调用线程当前正在使用的IKE_SA。log、vlog:
向总线发送一个日志消息。alert:
向总线发送一个alert。ike_state_change:
向总线发送IKE_SA状态更改事件。child_state_change:
向总线发送CHILD_SA状态更改事件。message:
消息发送/接收钩子。每条消息都会调用两次钩子:一次使用纯解析数据,一次进行编码和加密。authorize:
IKE_SA 授权钩子。narrow:
CHILD_SA流量选择器缩小钩子。ike_keys:
IKE_SA 密钥材料钩ike_derived_keys:
密钥派生钩子。ike_updown:
IKE_SA up/down hook.ike_rekey:
IKE_SA 重新协商钩子ike_update:
IKE_SA Peer 端点更新钩子。ike_reestablish_pre:
IKE_SA 重新建立 hook(在解析 hosts 之前)。ike_reestablish_post:
IKE_SA重新建立 hook(在配置和启动新 IKE_SA 之后)。child_updown:
CHILD_SA up/down hook.child_rekey:
CHILD_SA rekeying 钩子。children_migrate:
CHILD_SA migration hook 的 Hook 中。assign_vips:
Virtual IP assignment hook.handle_vips:
Virtual IP handler hook.destroy:
销毁bus。
private_bus_t:
继承bus上述属性和方法;
listeners:
作为 entry_t 的已注册侦听器列表。loggers数组:
每个日志组的已注册记录器列表(log_entry_t。Logger 按日志级别降序排序。额外的列表存储了所有 logger,因此我们可以正确地取消注册它们。max_level、max_vlevel:
每个日志组的最大日志级别。mutex:
listeners链表的互斥锁log_lock:
loggers数组的操作读写锁。thread_sa:
线程本地存储变量ike_sa
entry_t:
listener:
注册的侦听器;
calling:
我们当前是否正在调用此侦听器
log_entry_t:
一个 logger entry
logger:
注册的logger
levels:
每个组的已注册日志级别