Package com.addthis.meshy.service.file

Examples of com.addthis.meshy.service.file.FileSource


        if (args[0].equals("client") && args.length > 2) {
            try (Meshy more = new MeshyClient(args[1], Integer.parseInt(args[2]))) {
                if (args.length > 3) {
                    String cmd = args[3];
                    if (cmd.equals("ls") && args.length > 4) {
                        FileSource fileSource = new FileSource(more, new String[]{args[4]});
                        fileSource.waitComplete();
                        for (FileReference file : fileSource.getFileList()) {
                            System.out.println(file.getHostUUID() + " " + file.name + " \t " + file.size + " \t " + new Date(file.lastModified));
                        }
                    } else if (cmd.equals("cat") && args.length > 5) {
                        StreamSource source = null;
                        String uuid = args[4];
                        String file = args[5];
                        if (args.length > 6) {
                            int buffer = 0;
                            Map<String, String> params = null;
                            params = new HashMap<>();
                            for (int i = 6; i < args.length; i++) {
                                String kv[] = Strings.splitArray(args[i], "=");
                                if (kv[0].equals("--buffer")) {
                                    buffer = Integer.parseInt(kv[1]);
                                } else {
                                    params.put(kv[0], kv[1]);
                                }
                            }
                            source = new StreamSource(more, uuid, file, params, buffer);
                        } else {
                            source = new StreamSource(more, uuid, file, 0);
                        }
                        try (InputStream in = source.getInputStream()) {
                            byte[] buffer = new byte[4096];
                            int read = 0;
                            while ((read = in.read(buffer)) >= 0) {
                                if (read == 0) {
                                    continue;
                                }
                                if (read < 0) {
                                    break;
                                }
                                System.out.write(buffer, 0, read);
                            }
                        }
                        source.waitComplete();
                    } else if (cmd.equals("peer")) {
                        HostSource hostSource = new HostSource(more);
                        for (int i = 4; i < args.length; i++) {
                            hostSource.addPeer(args[i]);
                        }
                        hostSource.sendRequest();
                        hostSource.waitComplete();
                        for (HostNode node : hostSource.getHostList()) {
                            System.out.println(node.uuid + " \t " + node.address);
                        }
                    } else if (cmd.equals("madcat") && args.length > 5) {
                    /* usage: madcat <readers> <bufferSize> <filematch> */
                        int threads = Integer.parseInt(args[4]);
                        final int bufferSize = Integer.parseInt(args[5]);
                        final String fileMatch[] = {args[6]};
                        final DecimalFormat number = new DecimalFormat("#,###");
                        final AtomicLong totalBytes = new AtomicLong(0);
                        final AtomicLong readBytes = new AtomicLong(0);
                        final AtomicLong lastEmit = new AtomicLong(JitterClock.globalTime());
                        final FileSource fs = new FileSource(more, fileMatch, new DupFilter());
                        fs.waitComplete();
                        final Iterator<FileReference> fsIter = fs.getFileList().iterator();
                        final HashMap<FileReference, Long> perfData = new HashMap<>();
                        final AtomicInteger open = new AtomicInteger(0);

                        class SourceReader extends Thread {

View Full Code Here


     */
    public Collection<FileReference> listFiles(final String[] paths) throws IOException {
        if (closed.get()) {
            throw new IOException("client connection closed");
        }
        FileSource fileSource = new FileSource(this, paths);
        fileSource.waitComplete();
        return fileSource.getFileList();
    }
View Full Code Here

     */
    public void listFiles(final String paths[], final ListCallback callback) throws IOException {
        if (closed.get()) {
            throw new IOException("client connection closed");
        }
        FileSource fileSource = new FileSource(this, paths) {
            @Override
            public void receiveReference(FileReference ref) {
                callback.receiveReference(ref);
            }

View Full Code Here

     */
    public Collection<FileReference> listFiles(final String paths[]) throws IOException {
        if (closed.get()) {
            throw new IOException("client connection closed");
        }
        FileSource fileSource = new FileSource(this, paths);
        fileSource.waitComplete();
        return fileSource.getFileList();
    }
View Full Code Here

     */
    public void listFiles(final String paths[], final ListCallback callback) throws IOException {
        if (closed.get()) {
            throw new IOException("client connection closed");
        }
        FileSource fileSource = new FileSource(this, paths) {
            @Override
            public void receiveReference(FileReference ref) {
                callback.receiveReference(ref);
            }

View Full Code Here

TOP

Related Classes of com.addthis.meshy.service.file.FileSource

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.