membership/interface.go (9 lines of code) (raw):

package membership const ( // IdentityLabelKey is the key used to identify the identity label of a // Member IdentityLabelKey = "__identity" ) // Member defines a member of the membership. It can be used by applications to // apply specific business logic on Members. Examples are: // - Get the address of a member for RPC calls, both forwarding of internal // calls that should target a Member // - Decissions to include a Member in a query via predicates. type Member interface { // GetAddress returns the external address used by the rpc layer to // communicate to the member. // // Note: It is prefixed with Get for legacy reasons and can be removed after // a refactor of the swim.Member to free up the `Address` name. GetAddress() string // Label reads the label for a given key from the member. It also returns // wether or not the label was present on the member Label(key string) (value string, has bool) // Identity returns the logical identity the member takes within the // hashring, this is experimental and might move away from the membership to // the Hashring Identity() string }