/
rgd045
/
crypt-file
Обзор
Документация
Войти
/
rgd045
/
crypt-file
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/main/java/org/cryptomator/ipc/LoopbackCommunicator.java
50 строк
1 KB
Sebastian Stenzel
Use UNIX Sockets for IPC
13 июл 2021, 19:18
Не верифицирован
13 июл 2021, 19:18
755eb70
Код
Авторство
О чём код?
package org.cryptomator.ipc; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.concurrent.Executor; import java.util.concurrent.LinkedTransferQueue; import java.util.concurrent.TransferQueue; class LoopbackCommunicator implements IpcCommunicator { private static final Logger LOG = LoggerFactory.getLogger(LoopbackCommunicator.class); private final TransferQueue<IpcMessage> transferQueue = new LinkedTransferQueue<>(); @Override public boolean isClient() { return false; } @Override public void listen(IpcMessageListener listener, Executor executor) { executor.execute(() -> { try { var msg = transferQueue.take(); listener.handleMessage(msg); } catch (InterruptedException e) { LOG.error("Failed to read IPC message", e); Thread.currentThread().interrupt(); } }); } @Override public void send(IpcMessage message, Executor executor) { executor.execute(() -> { try { transferQueue.put(message); } catch (InterruptedException e) { LOG.error("Failed to send IPC message", e); Thread.currentThread().interrupt(); } }); } @Override public void close() { // no-op } }