core.node.services / NetworkMapService

# NetworkMapService

`interface NetworkMapService`

A network map contains lists of nodes on the network along with information about their identity keys, services they provide and host names or IP addresses where they can be connected to. This information is cached locally within nodes, by the NetworkMapCache. Currently very basic consensus controls are applied, using signed changes which replace each other based on a serial number present in the change.

### Types

FetchMapRequest | `class FetchMapRequest : AbstractRequestMessage`
FetchMapResponse | `data class FetchMapResponse`
QueryIdentityRequest | `class QueryIdentityRequest : AbstractRequestMessage`
QueryIdentityResponse | `data class QueryIdentityResponse`
RegistrationRequest | `class RegistrationRequest : AbstractRequestMessage`
RegistrationResponse | `data class RegistrationResponse`
SubscribeRequest | `class SubscribeRequest : AbstractRequestMessage`
SubscribeResponse | `data class SubscribeResponse`
Type | `object Type : ServiceType`
Update | `data class Update`
UpdateAcknowledge | `data class UpdateAcknowledge`

### Properties

nodes | `abstract val nodes: List<NodeInfo>`

### Companion Object Properties

DEFAULT_EXPIRATION_PERIOD | `val DEFAULT_EXPIRATION_PERIOD: Period`
FETCH_PROTOCOL_TOPIC | `val FETCH_PROTOCOL_TOPIC: String`
PUSH_ACK_PROTOCOL_TOPIC | `val PUSH_ACK_PROTOCOL_TOPIC: String`
PUSH_PROTOCOL_TOPIC | `val PUSH_PROTOCOL_TOPIC: String`
QUERY_PROTOCOL_TOPIC | `val QUERY_PROTOCOL_TOPIC: String`
REGISTER_PROTOCOL_TOPIC | `val REGISTER_PROTOCOL_TOPIC: String`
SUBSCRIPTION_PROTOCOL_TOPIC | `val SUBSCRIPTION_PROTOCOL_TOPIC: String`
logger | `val logger: <ERROR CLASS>`

### Inheritors

InMemoryNetworkMapService | `class InMemoryNetworkMapService : NetworkMapService, AbstractNodeService`