Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 831D9200B40 for ; Thu, 2 Jun 2016 07:17:06 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 8230C160A4C; Thu, 2 Jun 2016 05:17:06 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id A2661160A4D for ; Thu, 2 Jun 2016 07:17:05 +0200 (CEST) Received: (qmail 79874 invoked by uid 500); 2 Jun 2016 05:17:04 -0000 Mailing-List: contact dev-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Commons Developers List" Delivered-To: mailing list dev@commons.apache.org Received: (qmail 79679 invoked by uid 99); 2 Jun 2016 05:17:04 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 05:17:04 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 04E72C0BDA for ; Thu, 2 Jun 2016 05:17:04 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.198 X-Spam-Level: * X-Spam-Status: No, score=1.198 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id nM5H3btcLoWZ for ; Thu, 2 Jun 2016 05:17:02 +0000 (UTC) Received: from mail-oi0-f47.google.com (mail-oi0-f47.google.com [209.85.218.47]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id BE52B5F39A for ; Thu, 2 Jun 2016 05:17:01 +0000 (UTC) Received: by mail-oi0-f47.google.com with SMTP id j1so61039590oih.3 for ; Wed, 01 Jun 2016 22:17:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to; bh=27ZoHAFh/y0t9uWLTp9l8w0OZP5yWt5Argoe74dFOz8=; b=qXTNjtWmk/2LSt4ZtpvI3qS3R9tRmb1rS/XSuPv5CGFbyKHCykA8wqY74rWVFUJJ77 2YYO1HFg0ZybHzp9N0lunlLkuvDRBl7b6i/noupT3hfmcJNdNoQRpP3vRdM7BSAZg3Tn CXJGYnA84QVO/y7cHlmB20626E5VHeWOatxcMTMnbd8wDiuE7Dreu24ZOG0veG3vBoan S0ch9fzVuoaBYvK+vp62D9EfCalLdooR1OHTq9H9ats4OPQxSz9IFdyJ8DVfwO2GoLjf ldnpQClHUKsrG21/0dlGQjMha8zHduEJ4q46cF4WonF1EwUncio11ZVDAivjEl2EC9XY kXdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to; bh=27ZoHAFh/y0t9uWLTp9l8w0OZP5yWt5Argoe74dFOz8=; b=dr1WtSeI/diIXgYAJ5TrZx9a/a/+6UtCdfj/p3gkG9Cu4VcbOSThCQmnvifPgl78Qq WJb2us+Tm8g2oZPR0YqHorGSePb9sONiAJNdvoxHUm4+g7FsJGCb+/Ofac+uj3y46HRA scGmrdGeJsJVQYVDiWOFaNw4HY5N2i3UriDfUBVdO7O+xVGrAQ5qsp8jCw4wdkRlQ5SG X0wsBGZ9tCQxbgSUo7JfCdvlpqcymiylSDH9Y6QMDSx9gapSefFxHtia6wexZxBjn1ph yqWc1xdnd4nnWjm+7gUdZXrC3MNnR0HZZzdkzlhia8WFzp3e/y0e4UiXCbmWLrWrZNCd j5Sg== X-Gm-Message-State: ALyK8tKbsJJtl1x7N0wmsxaFGQ1g+Mm3V2JNobUDNStQc7dxHRQpQx5VOA5bubiI2PV9KI7s/Vwmzw5jJ8uFvw== MIME-Version: 1.0 X-Received: by 10.157.19.124 with SMTP id q57mr5511860otq.174.1464844620832; Wed, 01 Jun 2016 22:17:00 -0700 (PDT) Received: by 10.157.9.71 with HTTP; Wed, 1 Jun 2016 22:17:00 -0700 (PDT) Received: by 10.157.9.71 with HTTP; Wed, 1 Jun 2016 22:17:00 -0700 (PDT) In-Reply-To: <0912b235-7c0e-2f2a-1f2a-88116971a577@gmail.com> References: <0912b235-7c0e-2f2a-1f2a-88116971a577@gmail.com> Date: Wed, 1 Jun 2016 22:17:00 -0700 Message-ID: Subject: Re: [VFS] NIO Version Questions From: Gary Gregory To: Commons Developers List Content-Type: multipart/alternative; boundary=001a1141b84846a841053444b7a0 archived-at: Thu, 02 Jun 2016 05:17:06 -0000 --001a1141b84846a841053444b7a0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I think we should do it all! :-) Starting with making all of VFS a nio2 provider. Then we can do one-offs for each file type as we go. It then should be possible to offer a more light weight solution. Gary On Jun 1, 2016 5:18 PM, "Schalk Cronj=C3=A9" wrote: > I have looked at this for some time and played with some ideas. Firstly, = I > want to say that atm NIO2 sucks. It sucks because there are no decent > provider implementations. So using the knowledge from VFS2 today, I think= a > great contribution can be made to "re-use" the VFS2 projects for NIO2. > > I think one can take two routes: > > [1] Provide separate providers i.e. fts, sftp etc. which are simply loade= d > separately. This has the advantage that each provider can be developed > independently whilst having some core code that is shared. The core code > could include stuff such as caching, which already has some good solution= s > in VFS2 > > [2] Provide a single front-end scheme, which then also loads the > subsequent protocol i.e. vfs:ftp://. This could potentially then just > load up a VFS system underneath and re-use most of the code as-is. I thin= k > there will be quite some technical problems to solve, as I am not sure > whether the current VFS2 architecture will play along being a NIO2 provid= er > (maybe it will, but I don't know). > > Unfortunately I have not seen any way to handle multi-scheme such as > zip:http:// in NIO2. It might be possible to do something like that in > route #2. > > My gut feeling, is to just start following #1 for now and roll out > separate providers for each protocol. This will allow for some usage > patterns to develop in the community. > > > On 02/06/2016 00:28, Benson Margulies wrote: > >> Which direction do you have in mind here? I'd be up for helping to >> build a device that makes commons-vfs act as an NIO2 file system >> provider, but you might be aiming in the opposite direction. >> >> >> On Wed, Jun 1, 2016 at 7:02 PM, Peter Ansell >> wrote: >> >>> On 2 June 2016 at 01:48, Mark Fortner wrote: >>> >>>> There was some discussion during the last release about a NIO-compatib= le >>>> version of VFS. This raised a few questions in my mind. >>>> >>>> 1. Is there a branch where this work should start? >>>> 2. Are there any specific API proposals, if so where are they (or >>>> will >>>> they) be documented? Would there be branches with specific >>>> proposal code, >>>> or a wiki? >>>> 3. Does anyone have an "out of the gate" proposal? A proposed file >>>> system implementation that they're willing to >>>> contribute/collaborate on? >>>> Preferably something that's easy to test without additional server >>>> setup. >>>> Perhaps a db-based file system that could use java db? >>>> 4. How would the code be organized? Would each implementation have >>>> to >>>> have its own repo? If so, this might slow down initial API >>>> development. >>>> And you always run into the danger that any API changes you make >>>> break >>>> implementing code. >>>> 5. Has anyone considered support for virtual roots in file system >>>> URLs? >>>> Like "home://", "documents://", "music://", etc. >>>> >>> Virtual roots are very simple in NIO2. They are implemented using >>> FileSystemProvider with a >>> META-INF/services/java.nio.file.spi.FileSystemProvider file for >>> autodiscovery by java.util.ServiceLoader. >>> >>> >>> https://docs.oracle.com/javase/7/docs/technotes/guides/io/fsp/filesyste= mprovider.html >>> >>> Cheers, >>> >>> Peter >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org >>> For additional commands, e-mail: dev-help@commons.apache.org >>> >>> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org >> For additional commands, e-mail: dev-help@commons.apache.org >> >> > > -- > Schalk W. Cronj=C3=A9 > Twitter / Ello / Toeter : @ysb33r > > --001a1141b84846a841053444b7a0--