Protocol engine thread
A protocol engine thread is started by a subscriber, usually a console or adapter when it connects to a Smarts domain manager. The protocol engine thread listens for commands from the console, executes them and returns the result. A protocol engine thread is synchronous and requests a response before it continues processing.
ObserverRunner thread
An ObserverRunner thread is also started by a subscriber, usually a console or adapter when it connects to a Smarts domain manager. Its purpose is to forward event notifications to the external program (console or sm_adapter). An ObserverRunner thread is asynchronous, meaning whenever an event occurs it sends data to the remote end.