Class UnixDomainSocketConnector
java.lang.Object
org.eclipse.jgit.transport.sshd.agent.AbstractConnector
org.eclipse.jgit.internal.transport.sshd.agent.connector.UnixDomainSocketConnector
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Connector
JNA-based implementation of communication through a Unix domain socket.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate AtomicBoolean
static final ConnectorFactory.ConnectorDescriptor
private static UnixSockets
private static boolean
private static final org.slf4j.Logger
private int
private final String
Fields inherited from class org.eclipse.jgit.transport.sshd.agent.AbstractConnector
DEFAULT_MAX_REPLY_LENGTH
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
boolean
connect()
Connects to an SSH agent if there is one running.private static UnixSockets
private int
read
(int fd, byte[] buffer, int offset, int length) private void
readFully
(int fd, byte[] data) byte[]
rpc
(byte command, byte[] message) Performs a remote call to the SSH agent and returns the result.private void
writeFully
(int fd, byte[] message) Methods inherited from class org.eclipse.jgit.transport.sshd.agent.AbstractConnector
getMaximumMessageLength, prepareMessage, toLength
-
Field Details
-
DESCRIPTOR
-
LOG
private static final org.slf4j.Logger LOG -
library
-
libraryLoaded
private static boolean libraryLoaded -
socketFile
-
connected
-
socketFd
private volatile int socketFd
-
-
Constructor Details
-
UnixDomainSocketConnector
Creates a new instance.- Parameters:
socketFile
- to use; ifnull
or empty, use environment variable SSH_AUTH_SOCK
-
-
Method Details
-
getLibrary
-
connect
Description copied from interface:Connector
Connects to an SSH agent if there is one running. If called when already connected just returnstrue
.- Returns:
true
if an SSH agent is available and connected, if no SSH agent is available- Throws:
IOException
- if connecting to the SSH agent failed
-
close
- Throws:
IOException
-
rpc
Description copied from interface:Connector
Performs a remote call to the SSH agent and returns the result.- Parameters:
command
- to sendmessage
- to send; must have at least 5 bytes, and must have 5 unused bytes at the front.- Returns:
- the result received
- Throws:
IOException
- if an error occurs
-
writeFully
- Throws:
IOException
-
readFully
- Throws:
IOException
-
read
- Throws:
IOException
-