An electronic price label (ESL) system for performing asynchronous ESL
transactions. An event notification technique allows a communication base
station (CBS) manager to directly notify an ESL manager when responses
from an ESL are received, without the ESL manager needing to constantly
poll the CBS manager. In one aspect, an inter-process communication layer
(IPC) to allow for such event notification by the CBS manager. When
initially beginning operation, the ESL manager subscribes to a CBS
manager's event and provides the name of a function in the ESL manager to
be called when this event occurs. When the ESL manager instructs the CBS
manager to send a message to an ESL, the CBS manager provides the ESL
manager with a handle or unique identification number to identify the
message. When a response is received from the ESL, the CBS manager "fires
an event" utilizing the IPC and indicates the identification number of
the response. When the event is fired, it serves as a notification to the
ESL manager that the response is available for processing and the ESL
manager looks up the original message using the unique identification
number originally provided by the CBS manager. The response is then
processed by a separate thread in the ESL manager.