public synchronized List<HSyndicateUGMonitorResults<byte[]>> getLocalCachedBlockInfo( SyndicateFSPath path) throws IOException { List<HSyndicateUGMonitorResults<byte[]>> bitmaps = new ArrayList<HSyndicateUGMonitorResults<byte[]>>(); for (String gateway_hostname : usergateway_hostnames) { SyndicateFileSystem fs = syndicateFSs.get(gateway_hostname); if (fs != null) { byte[] bitmap = fs.getLocalCachedBlocks(path); int sum_caches = 0; if (bitmap != null) { for (int i = 0; i < bitmap.length; i++) { if (bitmap[i] == 1) { sum_caches++; } } } LOG.info("UserGateway : " + gateway_hostname + " has " + sum_caches + " caches of " + path); HSyndicateUGMonitorResults<byte[]> result = new HSyndicateUGMonitorResults<byte[]>(gateway_hostname); result.setResult(bitmap); bitmaps.add(result); } } return bitmaps; }
@Override public synchronized void close() throws IOException { this.usergateway_hostnames.clear(); for (SyndicateFileSystem fs : this.syndicateFSs.values()) { fs.close(); } this.syndicateFSs.clear(); }