/** * @param makeCall if true, this thread initiates a call to the remote member. Otherwise, * a request is sent to the remote member to call back. */ SocketCreator(boolean makeCall) { setName(String.format("SocketCreator-%d-%d", memberId, peerId)); this.makeCall = makeCall; excLogger = new ExceptionLogger(gondola) .setMessage(eMsg -> { return String.format("[%s-%d] Failed to create socket to %d (%s): %s", gondola.getHostId(), memberId, peerId, inetSocketAddress, eMsg); }) .setNoStackTracePattern("Connection reset|End-of-file") .setNoStackTraceClasses(ConnectException.class, SocketTimeoutException.class) .setAdditionalMessage(eMsg -> { return String.format("[%s-%d] Will retry creating the socket to %d (%s) every %dms", gondola.getHostId(), memberId, peerId, inetSocketAddress, createSocketRetryPeriod); }); }
public void error(Throwable e) { log(Level.ERROR, e); }
Receiver() { setName("PeerReceiver-" + cmember.memberId + "-" + peerId); setDaemon(true); excLogger = new ExceptionLogger(gondola) .setMessage(eMsg -> { return String.format("[%s-%d] Failed to receive from %d: %s", gondola.getHostId(), cmember.memberId, peerId, eMsg); }) .setNoStackTracePattern("Socket closed|Read timed out|Connection reset|.*Write end dead.*"); }
} catch (Throwable e) { close(); excLogger.warn(e);
/** * @param hostId the non-null id of the current host on which to start Gondola. */ public Gondola(Config config, String hostId) throws GondolaException { this.config = config; this.hostId = hostId; try { // Initialize static config values CoreCmd.initConfig(config); Message.initConfig(config); Peer.initConfig(config); ExceptionLogger.initConfig(config); messagePool = new MessagePool(config, stats); init(); } catch (Exception e) { throw new GondolaException(e); } }
Sender() { setName("PeerSender-" + cmember.memberId + "-" + peerId); setDaemon(true); excLogger = new ExceptionLogger(gondola) .setMessage(eMsg -> { return String.format("[%s-%d] Failed to send to %d: %s", gondola.getHostId(), cmember.memberId, peerId, eMsg); }) .setNoStackTracePattern("Socket closed|.*Read end dead.*|Broken pipe"); }
return; } catch (Exception e) { excLogger.warn(e); errorOccurred = true;
public void warn(Throwable e) { log(Level.WARN, e); }
return; excLogger.warn(e); errorOccurred = true; excess = 0;
public void info(Throwable e) { log(Level.INFO, e); }