Protocols generally maintain two maps: an active map and a passive map. Active maps are used to map keys found in incoming messages into the session that will process the message. Thus, the active map holds information about the set of currently active connections. Passive maps are used to bind keys to Enable objects (Section 2.1.2), thereby allowing a protocol to create a session when a message that is part of a new connection arrives. Typically, a protocol binds an active key to a session in its
xOpen routine, and a passive key to an enable object in its
xOpenEnable routine. These bindings are then used in the protocol's xDemux routine.