Package org.jgroups.stack
Class DiagnosticsHandler
- java.lang.Object
-
- org.jgroups.blocks.cs.ReceiverAdapter
-
- org.jgroups.stack.DiagnosticsHandler
-
- All Implemented Interfaces:
Receiver
public class DiagnosticsHandler extends ReceiverAdapter
- Since:
- 3.0
- Author:
- Bela Ban
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceDiagnosticsHandler.ProbeHandler
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<java.net.NetworkInterface>bind_interfacesprotected java.net.InetAddressdiagnostics_addrprotected java.net.InetAddressdiagnostics_bind_addrprotected intdiagnostics_portprotected intdiagnostics_port_rangeprotected java.util.Set<DiagnosticsHandler.ProbeHandler>handlersprotected Loglogprotected java.lang.Stringpasscodeprotected SocketFactorysocket_factoryprotected java.net.ServerSocketsrv_sockprotected booleantcp_enabledprotected Runnertcp_runnerstatic java.lang.StringTCP_THREAD_NAMEprotected ThreadFactorythread_factoryprotected TPtransportprotected intttlprotected booleanudp_enabledprotected java.net.MulticastSocketudp_mcast_sockprotected java.util.function.BiConsumer<java.net.SocketAddress,java.lang.String>udp_response_senderprotected Runnerudp_runnerstatic java.lang.StringUDP_THREAD_NAMEprotected java.net.DatagramSocketudp_ucast_sock
-
Constructor Summary
Constructors Constructor Description DiagnosticsHandler(java.net.InetAddress diagnostics_addr, int diagnostics_port, java.util.List<java.net.NetworkInterface> bind_interfaces, int diagnostics_ttl, Log log, SocketFactory socket_factory, ThreadFactory thread_factory, java.lang.String passcode)DiagnosticsHandler(java.net.InetAddress diagnostics_addr, int diagnostics_port, Log log, SocketFactory socket_factory, ThreadFactory thread_factory)DiagnosticsHandler(java.net.InetAddress diagnostics_addr, int diagnostics_port, Log log, SocketFactory socket_factory, ThreadFactory thread_factory, java.lang.String passcode)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected intauthorizeProbeRequest(java.net.DatagramPacket packet)Performs authorization on given DatagramPacket.protected voidbindToInterfaces(java.util.List<java.net.NetworkInterface> interfaces, java.net.MulticastSocket s)protected java.lang.StringdefaultHeaders()DiagnosticsHandlerenableTcp(boolean f)DiagnosticsHandlerenableUdp(boolean f)java.net.InetAddressgetDiagnosticsBindAddress()intgetDiagnosticsPortRange()java.util.Set<DiagnosticsHandler.ProbeHandler>getProbeHandlers()protected voidhandleDiagnosticProbe(java.net.SocketAddress sender, java.lang.String request, java.util.function.BiConsumer<java.net.SocketAddress,java.lang.String> rsp_sender)booleanisRunning()voidregisterProbeHandler(DiagnosticsHandler.ProbeHandler handler)protected voidrunTCP()protected voidrunUDP()protected booleansameCluster(java.lang.String req)protected voidsendResponse(java.net.DatagramSocket sock, java.net.SocketAddress sender, byte[] buf)DiagnosticsHandlersetDiagnosticsBindAddress(java.net.InetAddress a)DiagnosticsHandlersetDiagnosticsPortRange(int r)DiagnosticsHandlersetThreadNames()voidstart()protected DiagnosticsHandlerstartTCP()protected DiagnosticsHandlerstartUDP()voidstop()booleantcpEnabled()TPtransport()DiagnosticsHandlertransport(TP tp)booleanudpEnabled()voidunregisterProbeHandler(DiagnosticsHandler.ProbeHandler handler)DiagnosticsHandlerunsetThreadNames()-
Methods inherited from class org.jgroups.blocks.cs.ReceiverAdapter
receive, receive, receive
-
-
-
-
Field Detail
-
UDP_THREAD_NAME
public static final java.lang.String UDP_THREAD_NAME
- See Also:
- Constant Field Values
-
TCP_THREAD_NAME
public static final java.lang.String TCP_THREAD_NAME
- See Also:
- Constant Field Values
-
transport
protected TP transport
-
udp_enabled
protected volatile boolean udp_enabled
-
tcp_enabled
protected volatile boolean tcp_enabled
-
srv_sock
protected java.net.ServerSocket srv_sock
-
udp_runner
protected Runner udp_runner
-
tcp_runner
protected Runner tcp_runner
-
udp_mcast_sock
protected java.net.MulticastSocket udp_mcast_sock
-
udp_ucast_sock
protected java.net.DatagramSocket udp_ucast_sock
-
diagnostics_addr
protected java.net.InetAddress diagnostics_addr
-
diagnostics_bind_addr
protected java.net.InetAddress diagnostics_bind_addr
-
diagnostics_port
protected int diagnostics_port
-
diagnostics_port_range
protected int diagnostics_port_range
-
ttl
protected int ttl
-
bind_interfaces
protected java.util.List<java.net.NetworkInterface> bind_interfaces
-
handlers
protected final java.util.Set<DiagnosticsHandler.ProbeHandler> handlers
-
log
protected final Log log
-
socket_factory
protected final SocketFactory socket_factory
-
thread_factory
protected final ThreadFactory thread_factory
-
passcode
protected final java.lang.String passcode
-
udp_response_sender
protected final java.util.function.BiConsumer<java.net.SocketAddress,java.lang.String> udp_response_sender
-
-
Constructor Detail
-
DiagnosticsHandler
public DiagnosticsHandler(java.net.InetAddress diagnostics_addr, int diagnostics_port, Log log, SocketFactory socket_factory, ThreadFactory thread_factory)
-
DiagnosticsHandler
public DiagnosticsHandler(java.net.InetAddress diagnostics_addr, int diagnostics_port, Log log, SocketFactory socket_factory, ThreadFactory thread_factory, java.lang.String passcode)
-
DiagnosticsHandler
public DiagnosticsHandler(java.net.InetAddress diagnostics_addr, int diagnostics_port, java.util.List<java.net.NetworkInterface> bind_interfaces, int diagnostics_ttl, Log log, SocketFactory socket_factory, ThreadFactory thread_factory, java.lang.String passcode)
-
-
Method Detail
-
transport
public TP transport()
-
transport
public DiagnosticsHandler transport(TP tp)
-
setDiagnosticsBindAddress
public DiagnosticsHandler setDiagnosticsBindAddress(java.net.InetAddress a)
-
getDiagnosticsBindAddress
public java.net.InetAddress getDiagnosticsBindAddress()
-
udpEnabled
public boolean udpEnabled()
-
enableUdp
public DiagnosticsHandler enableUdp(boolean f)
-
tcpEnabled
public boolean tcpEnabled()
-
enableTcp
public DiagnosticsHandler enableTcp(boolean f)
-
getDiagnosticsPortRange
public int getDiagnosticsPortRange()
-
setDiagnosticsPortRange
public DiagnosticsHandler setDiagnosticsPortRange(int r)
-
setThreadNames
public DiagnosticsHandler setThreadNames()
-
unsetThreadNames
public DiagnosticsHandler unsetThreadNames()
-
getProbeHandlers
public java.util.Set<DiagnosticsHandler.ProbeHandler> getProbeHandlers()
-
registerProbeHandler
public void registerProbeHandler(DiagnosticsHandler.ProbeHandler handler)
-
unregisterProbeHandler
public void unregisterProbeHandler(DiagnosticsHandler.ProbeHandler handler)
-
start
public void start() throws java.lang.Exception- Throws:
java.lang.Exception
-
stop
public void stop()
-
isRunning
public boolean isRunning()
-
runUDP
protected void runUDP()
-
runTCP
protected void runTCP()
-
startUDP
protected DiagnosticsHandler startUDP() throws java.lang.Exception
- Throws:
java.lang.Exception
-
startTCP
protected DiagnosticsHandler startTCP() throws java.lang.Exception
- Throws:
java.lang.Exception
-
handleDiagnosticProbe
protected void handleDiagnosticProbe(java.net.SocketAddress sender, java.lang.String request, java.util.function.BiConsumer<java.net.SocketAddress,java.lang.String> rsp_sender)
-
defaultHeaders
protected java.lang.String defaultHeaders()
-
sameCluster
protected boolean sameCluster(java.lang.String req)
-
authorizeProbeRequest
protected int authorizeProbeRequest(java.net.DatagramPacket packet) throws java.lang.ExceptionPerforms authorization on given DatagramPacket.- Parameters:
packet- to authorize- Returns:
- offset in DatagramPacket where request payload starts
- Throws:
java.lang.Exception- thrown if passcode received from client does not match set passcode
-
sendResponse
protected void sendResponse(java.net.DatagramSocket sock, java.net.SocketAddress sender, byte[] buf)
-
bindToInterfaces
protected void bindToInterfaces(java.util.List<java.net.NetworkInterface> interfaces, java.net.MulticastSocket s)
-
-