Класс - это сервис, если он публично получен от другой службы, или если это класс, полученный от io_service::сервис, и содержит публично доступную декларацию следующим образом:
static io_service::id id;
Все службы определяют одноаргументный конструктор, который имеет ссылку на объект io_service, который владеет сервисом. Этот конструктор explicit, предотвращая его участие в автоматических преобразованиях. Например:
class my_service : public io_service::service
{
public:
  static io_service::id id;
  explicit my_service(io_service& ios);
private:
  virtual void shutdown_service();
  ...
};
Функция shutdown_service должна привести к уничтожению всех копий объектов, определенных пользователем.