public void addProcess(final String processName, int id, final String authKey, final List<String> command, final Map<String, String> env, final String workingDirectory, final boolean isPrivileged, final boolean respawn) { for (String s : command) { if (s == null) { throw ProcessLogger.ROOT_LOGGER.nullCommandComponent(); } } synchronized (lock) { if (shutdown) { return; } final Map<String, ManagedProcess> processes = this.processes; if (processes.containsKey(processName)) { ProcessLogger.ROOT_LOGGER.duplicateProcessName(processName); // ignore return; } final ManagedProcess process = new ManagedProcess(processName, id, command, env, workingDirectory, lock, this, authKey, isPrivileged, respawn); processes.put(processName, process); processesByKey.put(new Key(authKey.getBytes(Charset.forName("US-ASCII"))), process); processAdded(processName); } }
public void addProcess(final String processName, final byte[] authKey, final List<String> command, final Map<String, String> env, final String workingDirectory, final boolean isPrivileged, final boolean respawn) { for (String s : command) { if (s == null) { throw MESSAGES.nullCommandComponent(); } } synchronized (lock) { if (shutdown) { return; } final Map<String, ManagedProcess> processes = this.processes; if (processes.containsKey(processName)) { ROOT_LOGGER.duplicateProcessName(processName); // ignore return; } final ManagedProcess process = new ManagedProcess(processName, command, env, workingDirectory, lock, this, authKey, isPrivileged, respawn); processes.put(processName, process); processesByKey.put(new Key(authKey), process); processAdded(processName); } }
public void addProcess(final String processName, int id, final String authKey, final List<String> command, final Map<String, String> env, final String workingDirectory, final boolean isPrivileged, final boolean respawn) { for (String s : command) { if (s == null) { throw ProcessLogger.ROOT_LOGGER.nullCommandComponent(); } } synchronized (lock) { if (shutdown) { return; } final Map<String, ManagedProcess> processes = this.processes; if (processes.containsKey(processName)) { ProcessLogger.ROOT_LOGGER.duplicateProcessName(processName); // ignore return; } final ManagedProcess process = new ManagedProcess(processName, id, command, env, workingDirectory, lock, this, authKey, isPrivileged, respawn); processes.put(processName, process); processesByKey.put(new Key(authKey.getBytes(Charset.forName("US-ASCII"))), process); processAdded(processName); } }
public void removeProcess(final String processName) { synchronized (lock) { final Map<String, ManagedProcess> processes = this.processes; final ManagedProcess process = processes.get(processName); if (process == null) { ProcessLogger.ROOT_LOGGER.attemptToRemoveNonExistentProcess(processName); // ignore return; } boolean removed = processes.remove(processName) != null; processesByKey.remove(new Key(process.getAuthKey().getBytes(Charset.forName("US-ASCII")))); if(removed) { processRemoved(processName); } lock.notifyAll(); } }
public void removeProcess(final String processName) { synchronized (lock) { final Map<String, ManagedProcess> processes = this.processes; final ManagedProcess process = processes.get(processName); if (process == null) { ProcessLogger.ROOT_LOGGER.attemptToRemoveNonExistentProcess(processName); // ignore return; } boolean removed = processes.remove(processName) != null; processesByKey.remove(new Key(process.getAuthKey().getBytes(Charset.forName("US-ASCII")))); if(removed) { processRemoved(processName); } lock.notifyAll(); } }
public void removeProcess(final String processName) { synchronized (lock) { final Map<String, ManagedProcess> processes = this.processes; final ManagedProcess process = processes.get(processName); if (process == null) { ROOT_LOGGER.attemptToRemoveNonExistentProcess(processName); // ignore return; } boolean removed = processes.remove(processName) != null; processesByKey.remove(new Key(process.getAuthKey())); if(removed) { processRemoved(processName); } lock.notifyAll(); } }
public boolean equals(Object other) { return other instanceof Key && equals((Key)other); }
public boolean equals(Object other) { return other instanceof Key && equals((Key)other); }
public ManagedProcess getServerByAuthCode(final byte[] code) { synchronized (lock) { return processesByKey.get(new Key(code)); } }
public boolean equals(Object other) { return other instanceof Key && equals((Key)other); }
public ManagedProcess getServerByAuthCode(final byte[] code) { synchronized (lock) { return processesByKey.get(new Key(code)); } }
public ManagedProcess getServerByAuthCode(final byte[] code) { synchronized (lock) { return processesByKey.get(new Key(code)); } }