Transport configuration registry
As implied above, transports are not instantiated directly; rather, they are created while building an endpoint using a specifically tailored configuration. SST maintains a registry of transport configurations in the SstTransport class. The names under which configurations are registered correspond to the transport element of a URL. When an endpoint is built for a URL, the transport is looked up in the configuration registry and the associated configuration used to build the transport. The protocol for managing the registered names is:
availableIdentifiers
Answers a collection of available transport identifiers.
configurationFor: url
Answers a SstCommunicationConfiguration subclass that handles the transport for @url. Answers an error object if none is found.
configurationForIdentifier: transportIdentifier
Answers a SstCommunicationConfiguration subclass that handles the transport identified by @transportIdentifier, a string like tcp. Answers an error object if none is found.
is: remoteIdentifier reachableBy: localIdentifier
Answers true if remote endpoints using the transport @remoteIdentifier can be reached using a local endpoint using the transport @localIdentifier, or false otherwise.
mark: transportIdentifier reachableBy: reachableIdentifiers
Adds @reachableIdentifiers as reachable from @transportIdentifer.
register: configuration reachableBy: reachableIdentifiers
Registers @configuration as an available transport. This configuration can be reached by the transport identifiers given in the collection @reachableIdentifiers.
register: configuration mutuallyReachableBy: reachableIdentifiers
Registers @configuration as an available transport. This configuration is mutually reachable with each of the transport identifiers given in the collection @reachableIdentifiers. This means that the transport identified by @configuration can reach and be reached by a transport configured by any of the identifiers in @reachableIdentifiers. Note that transports described by @configuration must be explicitly referenced in @reachableIdentifiers to make them reachable by one another.
removeReachabilitiesFor: transportIdentifier
Removes any reachabilities for @transportIdentifier. This includes both transports that can reach @transportIdentifier and transports that are reachable from @transportIdentifier.
unregister: transportIdentifier
Unregisters and answers the configuration for the transport identified by @transportIdentifier. Answers nil if there is no such configuration.
Last modified date: 01/29/2015