@Override protected void write(List<PingData> list, String clustername) { try { String filename = clustername + "/" + addressToFilename(local_addr); ByteArrayOutputStream out=new ByteArrayOutputStream(4096); write(list, out); byte[] data=out.toByteArray(); rackspaceClient.createObject(container, filename, data); } catch (Exception e) { log.error(Util.getMessage("ErrorMarshallingObject"), e); } }
@Override protected void readAll(List<Address> members, String clustername, Responses responses) { try { List<String> objects = rackspaceClient.listObjects(container); for(String object: objects) { List<PingData> list=null; byte[] bytes = rackspaceClient.readObject(container, object); if((list=read(new ByteArrayInputStream(bytes))) == null) { log.warn("failed reading " + object); continue; } for(PingData data: list) { if(members == null || members.contains(data.getAddress())) responses.addResponse(data, data.isCoord()); if(local_addr != null && !local_addr.equals(data.getAddress())) addDiscoveryResponseToCaches(data.getAddress(), data.getLogicalName(), data.getPhysicalAddr()); } } } catch (Exception e) { log.error(Util.getMessage("ErrorUnmarshallingObject"), e); } }
@Override protected void remove(String clustername, Address addr) { String fileName = clustername + "/" + addressToFilename(addr); rackspaceClient.deleteObject(container, fileName); }
@Override protected void readAll(List<Address> members, String clustername, Responses responses) { try { List<String> objects = rackspaceClient.listObjects(container); for(String object: objects) { List<PingData> list=null; byte[] bytes = rackspaceClient.readObject(container, object); if((list=read(new ByteArrayInputStream(bytes))) == null) { log.warn("failed reading " + object); continue; } for(PingData data: list) { if(members == null || members.contains(data.getAddress())) responses.addResponse(data, data.isCoord()); if(local_addr != null && !local_addr.equals(data.getAddress())) addDiscoveryResponseToCaches(data.getAddress(), data.getLogicalName(), data.getPhysicalAddr()); } } } catch (Exception e) { log.error(Util.getMessage("ErrorUnmarshallingObject"), e); } }
@Override protected void remove(String clustername, Address addr) { String fileName = clustername + "/" + addressToFilename(addr); rackspaceClient.deleteObject(container, fileName); }
@Override protected void write(List<PingData> list, String clustername) { try { String filename = clustername + "/" + addressToFilename(local_addr); ByteArrayOutputStream out=new ByteArrayOutputStream(4096); write(list, out); byte[] data=out.toByteArray(); rackspaceClient.createObject(container, filename, data); } catch (Exception e) { log.error(Util.getMessage("ErrorMarshallingObject"), e); } }