| 621 | } |
| 622 | |
| 623 | void disconnect() |
| 624 | { |
| 625 | if (connections.isSome()) { |
| 626 | connections->subscribe.disconnect(); |
| 627 | connections->nonSubscribe.disconnect(); |
| 628 | } |
| 629 | |
| 630 | if (subscribed.isSome()) { |
| 631 | subscribed->reader.close(); |
| 632 | } |
| 633 | |
| 634 | state = DISCONNECTED; |
| 635 | |
| 636 | connections = None(); |
| 637 | connectionId = None(); |
| 638 | subscribed = None(); |
| 639 | } |
| 640 | |
| 641 | // Helper for injecting an ERROR event. |
| 642 | void error(const string& message) |