org.jgroups.stack

Class RouterStub

public class RouterStub extends Object

Field Summary
protected static Loglog
Constructor Summary
RouterStub(String router_host, int router_port)
Creates a stub for a remote Router object.
Method Summary
Addressconnect()
Establishes a connection to the router.
voiddisconnect()
Closes the socket and the input and output streams associated with it
Listget(String groupname)
Retrieves the membership (list of Addresses) for a given group.
booleanisConnected()
static voidmain(String[] args)
Messagereceive()
Receives a message from the router (blocking mode).
booleanreconnect(int max_attempts)
Tries to establish connection to router.
booleanreconnect()
booleanregister(String groupname)
Register this process with the router under groupname.
booleansend(Message msg, String groupname)
Sends a message to the router.

Field Detail

log

protected static final Log log

Constructor Detail

RouterStub

public RouterStub(String router_host, int router_port)
Creates a stub for a remote Router object.

Parameters: router_host The name of the router's host router_port The router's port

Method Detail

connect

public Address connect()
Establishes a connection to the router. The router will send my address (its peer address) back as an Address, which is subsequently returned to the caller. The reason for not using InetAddress.getLocalHost() or sock.getLocalAddress() is that this may not be permitted with certain security managers (e.g if this code runs in an applet). Also, some network address translation (NAT) (e.g IP Masquerading) may return the wrong address.

disconnect

public void disconnect()
Closes the socket and the input and output streams associated with it

get

public List get(String groupname)
Retrieves the membership (list of Addresses) for a given group. This is mainly used by the PING protocol to obtain its initial membership. This is used infrequently, so don't maintain socket for the entire time, but create/delete it on demand.

isConnected

public boolean isConnected()

main

public static void main(String[] args)

receive

public Message receive()
Receives a message from the router (blocking mode). If the connection is down, false is returned, otherwise true

reconnect

public boolean reconnect(int max_attempts)
Tries to establish connection to router. Tries until router is up again.

reconnect

public boolean reconnect()

register

public boolean register(String groupname)
Register this process with the router under groupname.

Parameters: groupname The name of the group under which to register

Returns: boolean False if connection down, true if registration successful.

send

public boolean send(Message msg, String groupname)
Sends a message to the router. Returns false if message cannot be sent (e.g. no connection to router, true otherwise.
Copyright ? 1998-2005 Bela Ban. All Rights Reserved.