public ConnBuilder method(String method) { try { con.setRequestMethod(method); } catch (ProtocolException e) { log.error(Util.getMessage("ProtocolError"), e); } return this; }
protected void deliver(Message msg, Address sender, long seqno, String error_msg) { if(is_trace) log.trace("%s: delivering %s#%d", local_addr, sender, seqno); try { up_prot.up(msg); } catch(Throwable t) { log.error(Util.getMessage("FailedToDeliverMsg"), local_addr, error_msg, msg, t); } }
protected boolean deleteFile(File file) { boolean result = true; if(file != null && file.exists()) { try { result=file.delete(); log.trace("deleted file %s: result=%b ", file.getAbsolutePath(), result); } catch(Throwable e) { log.error(Util.getMessage("FailedToDeleteFile") + file.getAbsolutePath(), e); } } return result; }
/** Forwards the message across the TCP link to the other local cluster */ protected void forward(byte[] buffer, int offset, int length) { Message msg=new Message(null, buffer, offset, length).putHeader(id, new RelayHeader(RelayHeader.Type.FORWARD)); if(bridge != null) { try { bridge.send(msg); } catch(Throwable t) { log.error(Util.getMessage("FailedForwardingMessageOverBridge"), t); } } }
protected void sendEof(Address requester) { try { Message eof_msg=new Message(requester).putHeader(getId(), new StateHeader(StateHeader.STATE_EOF)); log.trace("%s --> EOF --> %s", local_addr, requester); down(eof_msg); } catch(Throwable t) { log.error("%s: failed sending EOF to %s", local_addr, requester); } }
public Object up(Message msg) { VerifyHeader hdr=msg.getHeader(this.id); if(hdr == null) return up_prot.up(msg); switch(hdr.type) { case VerifyHeader.ARE_YOU_DEAD: if(hdr.from == null) { log.error(Util.getMessage("AREYOUDEADHdrFromIsNull")); return null; } Address target=use_mcast_rsps? null : hdr.from; for(int i=0; i < num_msgs; i++) { Message rsp=new Message(target).setFlag(Message.Flag.INTERNAL) .putHeader(this.id, new VerifyHeader(VerifyHeader.I_AM_NOT_DEAD, local_addr)); down_prot.down(rsp); } return null; case VerifyHeader.I_AM_NOT_DEAD: if(hdr.from == null) { log.error(Util.getMessage("IAMNOTDEADHdrFromIsNull")); return null; } unsuspect(hdr.from); return null; } return null; }
public Object up(Message msg) { MergeHeader hdr=msg.getHeader(getId()); if(hdr == null) return up_prot.up(msg); Address sender=msg.getSrc(); switch(hdr.type) { case INFO: addInfo(sender, hdr.view_id, hdr.logical_name, hdr.physical_addr); break; case VIEW_REQ: Message view_rsp=new Message(sender).setFlag(Message.Flag.INTERNAL) .putHeader(getId(), MergeHeader.createViewResponse()).setBuffer(marshal(view)); down_prot.down(view_rsp); break; case VIEW_RSP: View tmp_view=readView(msg.getRawBuffer(), msg.getOffset(), msg.getLength()); if(tmp_view != null) view_rsps.add(sender, tmp_view); break; default: log.error("Type %s not known", hdr.type); } return null; }
protected void processQueue() { Request req=null; try { req=req_queue.take(); } catch(InterruptedException e) { } try { if(req != null && log.isTraceEnabled()) log.trace("%s <-- %s: %s", local_addr, req.sender, req); handleRequest(req); } catch(Throwable t) { log.error("%s: failed handling request %s: %s", local_addr, req, t); } }
public void up(MessageBatch batch) { if(num_event_handlers > 0) { for(Message msg: batch) { for(EventHandler handler: event_handlers) { try { handler.up(msg); } catch(Throwable t) { log.error(Util.getMessage("EventHandlerFailedHandlingUpEvent"), t); } } } } if(!batch.isEmpty()) up_prot.up(batch); }
public void up(MessageBatch batch) { if(secret_key == null) { log.trace("%s: discarded %s batch from %s as secret key is null", local_addr, batch.dest() == null? "mcast" : "unicast", batch.sender()); return; } BlockingQueue<Cipher> cipherQueue = decoding_ciphers; try { Cipher cipher=cipherQueue.take(); try { BiConsumer<Message,MessageBatch> decrypter=new Decrypter(cipher); batch.forEach(decrypter); } finally { cipherQueue.offer(cipher); } } catch(InterruptedException e) { log.error("%s: failed processing batch; discarding batch", local_addr, e); // we need to drop the batch if we for example have a failure fetching a cipher, or else other messages // in the batch might make it up the stack, bypassing decryption! This is not an issue because encryption // is below NAKACK2 or UNICAST3, so messages will get retransmitted return; } if(!batch.isEmpty()) up_prot.up(batch); }
/** * Attempts to delete the provided file.<br> * Logging is performed on the result * @param file * @return */ protected boolean deleteFile(File file) { boolean result = true; if(file != null && file.exists()) { try { result=file.delete(); if(log.isTraceEnabled()) log.trace("Deleted file result: "+file.getAbsolutePath() +" : "+result); } catch(Throwable e) { log.error(Util.getMessage("FailedToDeleteFile") + file.getAbsolutePath(), e); } } return result; }
protected void send(Address dest, Buffer buffer) { try { Message rsp_msg=new Message(dest, buffer).putHeader(id, new CounterHeader()); if(bypass_bundling) rsp_msg.setFlag(Message.Flag.DONT_BUNDLE); down_prot.down(rsp_msg); } catch(Exception ex) { log.error(Util.getMessage("FailedSendingMessageTo") + dest + ": " + ex); } }
public void mouseDragged(MouseEvent e) { int x=e.getX(), y=e.getY(); graphics.fillOval(x, y, 10, 10); try { out.reset(); outstream=new DataOutputStream(out); outstream.writeInt(red); outstream.writeInt(green); outstream.writeInt(blue); outstream.writeInt(x); outstream.writeInt(y); channel.send(new Message(null, out.toByteArray())); out.reset(); } catch(Exception ex) { log.error(ex.toString()); } }
protected void send(Address dest, Request req) { Message msg=new Message(dest, Util.streamableToBuffer(req)).putHeader(id, new LockingHeader()); if(bypass_bundling) msg.setFlag(Message.Flag.DONT_BUNDLE); log.trace("%s --> %s: %s", local_addr, dest == null? "ALL" : dest, req); try { down_prot.down(msg); } catch(Exception ex) { log.error("%s: failed sending %s request: %s", local_addr, req.type, ex); } }
public void handleMergeCancelled(MergeId merge_id) { try { gms.stopFlush(); } catch(Throwable t) { log.error(Util.getMessage("StopFlushFailed"), t.getMessage()); } log.trace("%s: merge %s is cancelled", gms.local_addr, merge_id); cancelMerge(merge_id); }
/** Sends the message via all bridges excluding the excluded_sites bridges */ protected void sendToBridges(Address sender, final Message msg, String ... excluded_sites) { Relayer tmp=relayer; List<Route> routes=tmp != null? tmp.getRoutes(excluded_sites) : null; if(routes == null) return; for(Route route: routes) { if(log.isTraceEnabled()) log.trace(local_addr + ": relaying multicast message from " + sender + " via route " + route); try { route.send(null, sender, msg); } catch(Exception ex) { log.error(local_addr + ": failed relaying message from " + sender + " via route " + route, ex); } } }
protected void closeConnection(final Connection connection) { try { connection.close(); } catch (SQLException e) { log.error(Util.getMessage("ErrorClosingConnectionToJDBCPINGDatabase"), e); } }