ZenMonitor v1.0.0 ZenMonitor.Local.Connector.State View Source

Maintains the internal state for the Connector

  • monitors is an ETS table for keeping track of monitors for the purpose of fan-out.
  • remote_node_monitored is a flag used to track whether or not the remote node has been monitored
  • remote_proxy_ref is the monitoring reference of the remote node’s ZenMonitor.Proxy
  • remote is the remote node for which the Connector is responsible.
  • batch is the queue of instructions pending until the next sweep.
  • length is the current length of the batch queue (calculating queue length is an O(n) operation, it is simple to track it as elements are added / removed)

Link to this section Summary

Link to this section Types

Link to this type t() View Source
t() :: %ZenMonitor.Local.Connector.State{
  batch: :queue.queue(),
  length: integer(),
  monitors: :ets.tid(),
  remote: node(),
  remote_node_monitored: boolean(),
  remote_proxy_ref: reference()
}