Package org.jgroups.protocols.relay
Interface SiteMasterPicker
- All Known Implementing Classes:
RandomSiteMasterPicker,StickySiteMasterPicker
public interface SiteMasterPicker
Allows an implementation to pick a
SiteMaster or a Route from a list (if multiple site masters are
enabled). An implementation could for example always pick the same site master (or route) for messages from a given
sender (sticky site master policy, see https://issues.redhat.com/browse/JGRP-2112).The default implementation picks a random site master for every message to be relayed, even if they have the same original sender.
If only one site master is configured, then pickSiteMaster(List,Address) (List,Address)} or
pickRoute(String,List,Address) will never be called.
- Since:
- 3.6.12, 4.0
-
Method Summary
Modifier and TypeMethodDescriptionPicks a route to a given remote site from a list of routes.pickSiteMaster(List<Address> site_masters, Address original_sender) Needs to pick a member from a list of addresses of site masters
-
Method Details
-
pickSiteMaster
Needs to pick a member from a list of addresses of site masters- Parameters:
site_masters- The list of site mastersoriginal_sender- The address of the original member sending a message- Returns:
- The address of the site master (in the local cluster) to be used to forward the message to
-
pickRoute
Picks a route to a given remote site from a list of routes.- Parameters:
site- The name of the target (remote) site. Added for informational purposes; may or may not be used as selection criterium.routes- The list of routes. A route can be picked for example by using the address of the remote site master:Route.siteMaster()original_sender- The address of the original sender- Returns:
- A route
-