コード例 #1
0
  /**
   * That method ought to be called before any DirectDiskAccess operation is performed by the node
   *
   * @param filename
   * @param writeRequest : Are willing to write or to read ?
   * @return boolean : allowed or not
   */
  protected boolean allowDDAFrom(File filename, boolean writeRequest) {
    String parentDirectory = FileUtil.getCanonicalFile(filename).getParent();
    DirectoryAccess da = null;

    synchronized (checkedDirectories) {
      da = checkedDirectories.get(parentDirectory);
    }

    if (logMINOR) Logger.minor(this, "Checking DDA: " + da + " for " + parentDirectory);

    if (writeRequest) return (da == null ? server.isDownloadDDAAlwaysAllowed() : da.canWrite);
    else return (da == null ? server.isUploadDDAAlwaysAllowed() : da.canRead);
  }
コード例 #2
0
 public void setClientName(final String name) {
   this.clientName = name;
   rebootClient = server.registerRebootClient(name, server.core, this);
   rebootClient.queuePendingMessagesOnConnectionRestartAsync(
       outputHandler, null, server.core.clientContext);
   // Create foreverClient lazily. Everything that needs it (especially creating ClientGet's etc)
   // runs on a database job.
   if (logMINOR) Logger.minor(this, "Set client name: " + name);
 }
コード例 #3
0
 protected FCPClient createForeverClient(String name, ObjectContainer container) {
   synchronized (FCPConnectionHandler.this) {
     if (foreverClient != null) return foreverClient;
   }
   FCPClient client =
       server.registerForeverClient(name, server.core, FCPConnectionHandler.this, container);
   synchronized (FCPConnectionHandler.this) {
     foreverClient = client;
     FCPConnectionHandler.this.notifyAll();
   }
   client.queuePendingMessagesOnConnectionRestartAsync(
       outputHandler, container, server.core.clientContext);
   return foreverClient;
 }