Index
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 —
IdentifiableProtoMessageassigns 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
-
Default for
GossipBasedFullMembership.PAR_METRICS_INTERVAL:-1(disabled). - PAR_DEFAULT_SAMPLE_SIZE - Static variable in class protocols.membership.full.GossipBasedFullMembership
-
Default for
GossipBasedFullMembership.PAR_SAMPLE_SIZE: 6 peers. - 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.
All Classes and Interfaces|All Packages|Constant Field Values