# Class BSV::Overlay::LookupFacilitator <a id="class-BSV-Overlay-LookupFacilitator"></a>

**Inherits:** `Object`

Abstract base class defining the interface for lookup facilitators.

A facilitator is responsible for sending a LookupQuestion to a given Overlay
Services host URL and returning a LookupAnswer. Concrete subclasses implement
the transport mechanism (e.g. HTTPS, in-process).

Implementors must override <code>#lookup</code>.

## Public Instance Methods
### `lookup(url, question, timeout: = 5)` <a id="method-i-lookup"></a> <a id="lookup-instance_method"></a>
Send a lookup question to the given host URL.
- **@param** `url` [String] base URL of the Overlay Services host
- **@param** `question` [LookupQuestion] the question to ask
- **@param** `timeout` [Integer] seconds to wait for a response
- **@raise** [NotImplementedError] always — subclasses must implement this
- **@return** [LookupAnswer]
