private void notifyChangeListeners() { for(ChangeListener l: change_listeners) { try { l.changed(); } catch(Throwable t) { if(log.isErrorEnabled()) log.error("failed notifying change listener", t); } } }
protected void deliver(Message msg, SequencerHeader hdr) { Address sender=msg.getSrc(); if(sender == null) { if(log.isErrorEnabled()) log.error(local_addr + ": sender is null, cannot deliver " + "::" + hdr.getSeqno()); return; } final Table<Message> win=received_msgs; win.add(hdr.seqno, msg); removeAndDeliver(win, sender); }
public void connect() throws IOException{ for (String dest : server_destinations) { try { connectToSingleDestination(dest); log.info("Connected to " + dest); break; } catch(IOException ex) { if(log.isErrorEnabled()) log.error(Util.getMessage("FailedConnectingTo") + dest + ":" + ex); } } if(!isConnected()) throw new IOException("no target server available"); startRunner(); }
/** Callback. Process the contents of the message; typically an _add() or _set() request */ public void receive(Message msg) { Request req=null; if(msg == null || msg.getLength() == 0) return; try { req=msg.getObject(); String fqn=req.fqn; switch(req.type) { case Request.PUT: if(req.key != null && req.value != null) _put(fqn, req.key, req.value); else _put(fqn, req.data); break; case Request.REMOVE: if(req.key != null) _remove(fqn, req.key); else _remove(fqn); break; default: if(log.isErrorEnabled()) log.error("type " + req.type + " unknown"); break; } } catch(Exception ex) { if(log.isErrorEnabled()) log.error("failed unmarshalling request: " + ex); } }
/** * Removes the node from the tree. * @param fqn The fully qualified name of the node. */ public void remove(String fqn) { if(!remote_calls) { _remove(fqn); return; } //Changes done by <aos> //if true, propagate action to the group if(send_message) { if(channel == null) { if(log.isErrorEnabled()) log.error("channel is null, cannot broadcast REMOVE request"); return; } try { channel.send(new Message(null, new Request(Request.REMOVE, fqn))); } catch(Exception ex) { if(log.isErrorEnabled()) log.error("failure bcasting REMOVE request: " + ex); } } else { _remove(fqn); } }
/** * Removes {@code key} from the node's hashmap * @param fqn The fullly qualified name of the node * @param key The key to be removed */ public void remove(String fqn, String key) { if(!remote_calls) { _remove(fqn, key); return; } //Changes done by <aos> //if true, propagate action to the group if(send_message) { if(channel == null) { if(log.isErrorEnabled()) log.error("channel is null, cannot broadcast REMOVE request"); return; } try { channel.send(new Message(null, new Request(Request.REMOVE, fqn, key))); } catch(Exception ex) { if(log.isErrorEnabled()) log.error("failure bcasting REMOVE request: " + ex); } } else { _remove(fqn, key); } }
if(log.isErrorEnabled()) log.error("channel is null, cannot broadcast PUT request"); return; if(log.isErrorEnabled()) log.error("failure bcasting PUT request: " + ex);
if(log.isErrorEnabled()) log.error("channel is null, cannot broadcast PUT request"); return; if(log.isErrorEnabled()) log.error("failure bcasting PUT request: " + ex);
public void run() { final byte receive_buf[]=new byte[66000]; // to be on the safe side (IPv6 == 65575 bytes, IPv4 = 65535) final DatagramPacket packet=new DatagramPacket(receive_buf, receive_buf.length); while(thread != null && Thread.currentThread().equals(thread)) { try { // solves Android ISSUE #24748 - DatagramPacket truncated UDP in ICS if(is_android) packet.setLength(receive_buf.length); receiver_socket.receive(packet); int len=packet.getLength(); if(len > receive_buf.length && log.isErrorEnabled()) log.error(Util.getMessage("SizeOfTheReceivedPacket"), len, receive_buf.length, receive_buf.length); receive(new IpAddress(packet.getAddress(), packet.getPort()), receive_buf, packet.getOffset(), len); } catch(SocketException sock_ex) { if(receiver_socket.isClosed()) { log.debug("receiver socket is closed, exception=" + sock_ex); break; } log.error(Util.getMessage("FailedReceivingPacket"), sock_ex); } catch(Throwable ex) { log.error(Util.getMessage("FailedReceivingPacket"), ex); } } if(log.isDebugEnabled()) log.debug(name + " thread terminated"); }
protected void sendReply(final Message req, final long req_id, Object reply, boolean is_exception) { Buffer rsp_buf; try { // retval could be an exception, or a real value rsp_buf=replyToBuffer(reply, marshaller); } catch(Throwable t) { try { // this call should succeed (all exceptions are serializable) rsp_buf=replyToBuffer(t, marshaller); is_exception=true; } catch(NotSerializableException not_serializable) { if(log.isErrorEnabled()) log.error(Util.getMessage("FailedMarshallingRsp") + reply + "): not serializable"); return; } catch(Throwable tt) { if(log.isErrorEnabled()) log.error(Util.getMessage("FailedMarshallingRsp") + reply + "): " + tt); return; } } Message rsp=req.makeReply().setFlag(req.getFlags()).setBuffer(rsp_buf) .clearFlag(Message.Flag.RSVP, Message.Flag.INTERNAL); // JGRP-1940 sendResponse(rsp, req_id, is_exception); }
/** The coordinator itself wants to leave the group */ public void leave(Address mbr) { if(mbr == null) { if(log.isErrorEnabled()) log.error(Util.getMessage("MemberSAddressIsNull")); return; } leaving=true; Address next_coord=gms.determineNextCoordinator(); if(next_coord != null) sendLeaveReqTo(next_coord); else { gms.getViewHandler().add(new Request(Request.LEAVE, mbr)); // If we're the coord leaving, ignore gms.leave_timeout: https://issues.jboss.org/browse/JGRP-1509 long timeout=(long)(Math.max(gms.leave_timeout, gms.view_ack_collection_timeout) * 1.10); gms.getViewHandler().waitUntilComplete(timeout); } gms.becomeClient(); }
public void receive(long id, Message msg) { Address sender=msg.getSrc(); if(sender == null) { if(log.isErrorEnabled()) log.error(local_addr + ": sender is null, cannot deliver message " + "::" + id); return; } if(!canDeliver(sender, id)) { if(log.isWarnEnabled()) log.warn(local_addr + ": dropped duplicate message " + sender + "::" + id); return; } if(log.isTraceEnabled()) log.trace(local_addr + ": delivering " + sender + "::" + id); up_prot.up(msg); }
protected void handleStabilityMessage(final Digest stable_digest, final Address sender, final ViewId view_id) { if(stable_digest == null) { if(log.isErrorEnabled()) log.error(Util.getMessage("StabilityDigestIsNull")); return;
if(log.isErrorEnabled()) log.error(Util.getMessage("DigestOrSenderIsNull")); return;
case SequencerHeader.FLUSH: if(!is_coord) { if(log.isErrorEnabled()) log.error(local_addr + ": non-coord; dropping FORWARD request from " + msg.getSrc()); return null;
if(log.isErrorEnabled()) log.error(Util.getMessage("GmsHeaderWithType"), hdr.type);
private void notifyChangeListeners() { for(ChangeListener l: change_listeners) { try { l.changed(); } catch(Throwable t) { if(log.isErrorEnabled()) log.error("failed notifying change listener", t); } } }
protected void deliver(Message msg, SequencerHeader hdr) { Address sender=msg.getSrc(); if(sender == null) { if(log.isErrorEnabled()) log.error(local_addr + ": sender is null, cannot deliver " + "::" + hdr.getSeqno()); return; } final Table<Message> win=received_msgs; win.add(hdr.seqno, msg); removeAndDeliver(win, sender); }
public void connect() throws IOException{ for (String dest : server_destinations) { try { connectToSingleDestination(dest); log.info("Connected to " + dest); break; } catch(IOException ex) { if(log.isErrorEnabled()) log.error(Util.getMessage("FailedConnectingTo") + dest + ":" + ex); } } if(!isConnected()) throw new IOException("no target server available"); startRunner(); }
public void receive(long id, Message msg) { Address sender=msg.getSrc(); if(sender == null) { if(log.isErrorEnabled()) log.error(local_addr + ": sender is null, cannot deliver message " + "::" + id); return; } if(!canDeliver(sender, id)) { if(log.isWarnEnabled()) log.warn(local_addr + ": dropped duplicate message " + sender + "::" + id); return; } if(log.isTraceEnabled()) log.trace(local_addr + ": delivering " + sender + "::" + id); up_prot.up(msg); }