Class ServiceClient

extends Object
Base class for clients that connect to and use provided services (see ServiceProvider).
Typically, users call the open method on a subclass of the client. This then discovers the corresponding provider and connects to it.
Subclasses implement service-specific methods to provide convenient APIs.

Class summary


Constructors

Methods

close -> none

id -> int

open --timeout/Duration=null [--if-absent] -> any

operator == other/any -> bool
Whether this object is equal to the other.
By default, identical is used for equality.
Inheritance
Classes overwrite this operator to get an equality specific to their needs. Equality operators often compare the type and field contents. For example:

class Pin:
  number/int

  constructor .number:

  operator == other:
    if other is not Pin: return false
    return number == other.number
A class doesn't have to follow the above format, but it must keep the operator in sync with any hash-code method. That is, if a class has a hash-code member, then the equality and hash-code must agree. If two instances are equal (a == b), then their hash codes must also be equal (a.hash-code == b.hash-code).