Index

A B C D E F G H I L M N P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values

A

addContact(Host) - Method in class protocols.membership.full.GossipBasedFullMembership
The runtime (or our own contact bootstrap) calls this with a peer to join through.
autoDetectAddress() - Static method in class utils.InterfaceToIp
Auto-detect a reachable bind address: the routable IPv4 of the sole real (non-loopback, up, non-virtual, non-p2p, non-bridge/VM/VPN) interface.

B

BroadcastMessage - Class in protocols.broadcast.flood.messages
The flood's own wire message.
BroadcastMessage(Host, Timestamp, byte[]) - Constructor for class protocols.broadcast.flood.messages.BroadcastMessage
A fresh broadcast initiated locally — IdentifiableProtoMessage assigns a new MID.

C

ChatApp - Class in protocols.apps.chat
The chat application — the top of the stack, and the only protocol a user sees.
ChatApp(Properties, Host, String, short) - Constructor for class protocols.apps.chat.ChatApp
 
ChatDirectMessage - Class in protocols.apps.chat.messages
A chat message sent directly to one peer (not broadcast).
ChatDirectMessage(ChatDirectMessage.Kind, String, String) - Constructor for class protocols.apps.chat.messages.ChatDirectMessage
 
ChatDirectMessage.Kind - Enum Class in protocols.apps.chat.messages
 
ChatPayload - Class in protocols.apps.chat
The chat's own little "application protocol" that rides inside the broadcast's opaque byte[] payload.
ChatPayload(ChatPayload.Kind, String, String) - Constructor for class protocols.apps.chat.ChatPayload
 
ChatPayload.Kind - Enum Class in protocols.apps.chat
 
clone() - Method in class protocols.membership.full.timers.InfoTimer
 
clone() - Method in class protocols.membership.full.timers.SampleTimer
 
Console - Class in protocols.apps.chat.ui
A tiny mIRC-style terminal, built on JLine.
Console(String) - Constructor for class protocols.apps.chat.ui.Console
 

D

decode(byte[]) - Static method in class protocols.apps.chat.ChatPayload
Parse the bytes delivered by the broadcast layer back into a payload.
describeInterfaces() - Static method in class utils.InterfaceToIp
Logs every network interface and its IPv4 addresses (with up/loopback/virtual/ point-to-point flags) to help diagnose a wrong auto-selection.

E

encode() - Method in class protocols.apps.chat.ChatPayload
Serialize to the bytes carried inside a broadcast message.

F

FloodBroadcast - Class in protocols.broadcast.flood
Flood broadcast — the simplest reliable dissemination: when you receive a message for the first time, deliver it locally and forward it to every neighbour except the one you got it from.
FloodBroadcast(Properties, Host) - Constructor for class protocols.broadcast.flood.FloodBroadcast
 

G

generateDeliveryNotification(short) - Method in class protocols.broadcast.flood.messages.BroadcastMessage
 
getContact() - Method in class protocols.membership.full.GossipBasedFullMembership
A peer the runtime can hand to others as a contact (so they can seed off us).
getContent() - Method in class protocols.broadcast.flood.messages.BroadcastMessage
 
getFromNick() - Method in class protocols.apps.chat.messages.ChatDirectMessage
 
getIpOfInterface(String) - Static method in class utils.InterfaceToIp
Returns the first non-loopback IPv4 address of interfaceName, or null if it has none / does not exist.
getKind() - Method in class protocols.apps.chat.ChatPayload
 
getKind() - Method in class protocols.apps.chat.messages.ChatDirectMessage
 
getNick() - Method in class protocols.apps.chat.ChatPayload
 
getSample() - Method in class protocols.membership.full.messages.MembershipSampleMessage
 
getSender() - Method in class protocols.broadcast.flood.messages.BroadcastMessage
 
getText() - Method in class protocols.apps.chat.ChatPayload
 
getText() - Method in class protocols.apps.chat.messages.ChatDirectMessage
 
getTimestamp() - Method in class protocols.broadcast.flood.messages.BroadcastMessage
 
GossipBasedFullMembership - Class in protocols.membership.full
Gossip-based full membership: every node tries to stay connected to every other node.
GossipBasedFullMembership(String, Properties, Host) - Constructor for class protocols.membership.full.GossipBasedFullMembership
 

H

HELLO - Enum constant in enum class protocols.apps.chat.messages.ChatDirectMessage.Kind
 

I

InfoTimer - Class in protocols.membership.full.timers
Optional diagnostics timer: when enabled (via membership.metrics.interval > 0) the membership protocol logs its current view on each fire.
InfoTimer() - Constructor for class protocols.membership.full.timers.InfoTimer
 
init(Properties) - Method in class protocols.apps.chat.ChatApp
 
init(Properties) - Method in class protocols.broadcast.flood.FloodBroadcast
 
init(Properties) - Method in class protocols.membership.full.GossipBasedFullMembership
 
InterfaceToIp - Class in utils
Resolves the process-wide bind address (babel.address) the node binds and announces on.

L

LEAVE - Enum constant in enum class protocols.apps.chat.ChatPayload.Kind
 

M

main(String[]) - Static method in class Main
 
Main - Class in Unnamed Package
Entry point for the babel-demo peer-to-peer chat.
Main() - Constructor for class Main
 
MembershipSampleMessage - Class in protocols.membership.full.messages
The one message the membership protocol exchanges: a periodic "here are some peers I know" sample.
MembershipSampleMessage(Set<Host>) - Constructor for class protocols.membership.full.messages.MembershipSampleMessage
 
MSG_ID - Static variable in class protocols.apps.chat.messages.ChatDirectMessage
 
MSG_ID - Static variable in class protocols.broadcast.flood.messages.BroadcastMessage
 
MSG_ID - Static variable in class protocols.membership.full.messages.MembershipSampleMessage
 

N

needsDiscovery() - Method in class protocols.membership.full.GossipBasedFullMembership
 

P

PAR_CONTACT - Static variable in class protocols.membership.full.GossipBasedFullMembership
Optional bootstrap contact, used when multicast discovery is unavailable.
PAR_DEFAULT_BABEL_PORT - Static variable in class Main
Default value for the TCP port (Babel.PAR_DEFAULT_PORT, i.e.
PAR_DEFAULT_METRICS_INTERVAL - Static variable in class protocols.membership.full.GossipBasedFullMembership
PAR_DEFAULT_SAMPLE_SIZE - Static variable in class protocols.membership.full.GossipBasedFullMembership
PAR_DEFAULT_SAMPLE_TIME - Static variable in class protocols.membership.full.GossipBasedFullMembership
Default for GossipBasedFullMembership.PAR_SAMPLE_TIME: 2000 ms (2 s).
PAR_METRICS_INTERVAL - Static variable in class protocols.membership.full.GossipBasedFullMembership
If > 0, the period in milliseconds at which the current membership view is written to the log (diagnostics, handy while learning).
PAR_NICK - Static variable in class Main
Your chat nickname — how you appear to everyone else.
PAR_SAMPLE_SIZE - Static variable in class protocols.membership.full.GossipBasedFullMembership
Maximum number of peers included in each gossip sample.
PAR_SAMPLE_TIME - Static variable in class protocols.membership.full.GossipBasedFullMembership
Time between gossip rounds, in milliseconds.
printAbove(String) - Method in class protocols.apps.chat.ui.Console
Print a line above the input prompt (safe to call from any thread).
PRIVATE - Enum constant in enum class protocols.apps.chat.messages.ChatDirectMessage.Kind
 
PROTO_ID - Static variable in class protocols.apps.chat.ChatApp
 
PROTO_NAME - Static variable in class protocols.apps.chat.ChatApp
 
PROTOCOL_ID - Static variable in class protocols.broadcast.flood.FloodBroadcast
 
PROTOCOL_ID - Static variable in class protocols.membership.full.GossipBasedFullMembership
 
PROTOCOL_NAME - Static variable in class protocols.broadcast.flood.FloodBroadcast
 
PROTOCOL_NAME - Static variable in class protocols.membership.full.GossipBasedFullMembership
 
protocols.apps.chat - package protocols.apps.chat
 
protocols.apps.chat.messages - package protocols.apps.chat.messages
 
protocols.apps.chat.ui - package protocols.apps.chat.ui
 
protocols.broadcast.flood - package protocols.broadcast.flood
 
protocols.broadcast.flood.messages - package protocols.broadcast.flood.messages
 
protocols.membership.full - package protocols.membership.full
 
protocols.membership.full.messages - package protocols.membership.full.messages
 
protocols.membership.full.timers - package protocols.membership.full.timers
 

R

readyToStart() - Method in class protocols.membership.full.GossipBasedFullMembership
 
resolveBindAddress(Properties) - Static method in class utils.InterfaceToIp
Resolve the process-wide bind address into babel.address (see the class javadoc for the precedence).

S

SampleTimer - Class in protocols.membership.full.timers
Fires periodically to make the membership protocol gossip a sample of its neighbours (see GossipBasedFullMembership.uponSampleTimer).
SampleTimer() - Constructor for class protocols.membership.full.timers.SampleTimer
 
serializer - Static variable in class protocols.apps.chat.messages.ChatDirectMessage
 
serializer - Static variable in class protocols.broadcast.flood.messages.BroadcastMessage
 
serializer - Static variable in class protocols.membership.full.messages.MembershipSampleMessage
 
start() - Method in class protocols.membership.full.GossipBasedFullMembership
Called by the runtime once we are ready (have a seed, or are the first node).
start(Consumer<String>, Runnable) - Method in class protocols.apps.chat.ui.Console
Start the input loop on a daemon thread.
stop() - Method in class protocols.apps.chat.ui.Console
 

T

TEXT - Enum constant in enum class protocols.apps.chat.ChatPayload.Kind
 
TIMER_ID - Static variable in class protocols.membership.full.timers.InfoTimer
 
TIMER_ID - Static variable in class protocols.membership.full.timers.SampleTimer
 
toString() - Method in class protocols.broadcast.flood.messages.BroadcastMessage
 
toString() - Method in class protocols.membership.full.messages.MembershipSampleMessage
 

U

utils - package utils
 

V

valueOf(String) - Static method in enum class protocols.apps.chat.ChatPayload.Kind
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class protocols.apps.chat.messages.ChatDirectMessage.Kind
Returns the enum constant of this class with the specified name.
values() - Static method in enum class protocols.apps.chat.ChatPayload.Kind
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class protocols.apps.chat.messages.ChatDirectMessage.Kind
Returns an array containing the constants of this enum class, in the order they are declared.
A B C D E F G H I L M N P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values