Package hudson.remoting
Remoting infrastructure for Hudson.
Code in this package is used for running a part of a program in agents.
If you are new to this package, start from Channel
.
-
Interface Summary Interface Description AbstractByteArrayCommandTransport.ByteArrayReceiver Callable<V,T extends Throwable> Represents computation to be done on a remote system.CallableFilter Deprecated. CommandTransport.CommandReceiver DelegatingCallable<V,T extends Throwable> Callable
that nominates another classloader for serialization.EngineListener Receives status notification fromEngine
.ErrorPropagatingOutputStream OutputStream
that's connected to anInputStream
somewhere, which provides ability to haveInputStream
report an error.Future<V> Alias toFuture
.IReadResolve Used internally in the remoting code to have the proxy object implement readResolve.JarLoader Remoting interface to allow the other side to retrieve a jar file from the checksum advertised inResourceImageInJar
.VirtualChannel VirtualizedChannel
that allows different implementations. -
Class Summary Class Description AbstractByteArrayCommandTransport CommandTransport
that works withbyte[]
instead of command object.AbstractByteBufferCommandTransport AbstractSynchronousByteArrayCommandTransport SynchronousCommandTransport
that works withbyte[]
instead of command object.AsyncFutureImpl<V> Future
implementation whose computation is carried out elsewhere.AtmostOneThreadExecutor ExecutorService
that uses at most one executor.Base64 Deprecated. UseBase64
insteadBinarySafeStream Tunnels byte stream into another byte stream so that binary data can be sent across binary-unsafe stream.Capability Represents additional features implemented onChannel
.Channel Represents a communication channel to the remote peer.Channel.Listener Callback "interface" for changes in the state ofChannel
.ChannelBuilder ChannelProperty<T> A convenient key type forChannel.getProperty(Object)
andChannel.setProperty(Object, Object)
ChunkHeader Parsing of the chunk header.ClassFilter Restricts what classes can be received through remoting.ClassLoaderHolder Remoting-aware holder ofClassLoader
that replaces ClassLoader by itsRemoteClassLoader
.Command One-way command to be sent over to the remote system and executed there.CommandTransport Lower level abstraction underChannel
for sending and receiving commandsDaemonThreadFactory Engine Agent engine that proactively connects to Jenkins controller.EngineListenerAdapter Adapter class forEngineListener
to shield subtypes from future callback additions.EngineListenerSplitter EngineListener
that distributes callbacks.FastPipedInputStream This class is equivalent tojava.io.PipedInputStream
.FastPipedOutputStream This class is equivalent tojava.io.PipedOutputStream
.FileSystemJarCache JarCache
that stores files in a single directory.HexDump InitializeJarCacheMain Takes a directory of jars and populates them into the given jar cache directory with the correct hash names.JarCache Jar file cache.JarCacheSupport Default partial implementation ofJarCache
.Launcher Entry point for running aChannel
.LocalChannel VirtualChannel
that performs computation on the local JVM.NamingThreadFactory Thread factory that sets thread name so we know who is responsible for so many threads being created.NoProxyEvaluator ObjectInputStreamEx ObjectInputStream
that uses a specificClassLoader
and can use aClassFilter
to limit what classes can be loaded.PingThread Periodically perform a ping.Pipe Pipe for the remoteCallable
and the local program to talk to each other.RemoteInputStream WrapsInputStream
so that it can be sent over the remoting channel.RemoteOutputStream OutputStream
that can be sent over to the remoteChannel
, so that the remoteCallable
can write to a localOutputStream
.RemoteWriter Request<RSP extends Serializable,EXC extends Throwable> Request/response pattern overChannel
, the layer-1 service.Response<RSP extends Serializable,EXC extends Throwable> Request/response pattern overCommand
.SingleLaneExecutorService Creates anExecutorService
that executes submitted tasks sequentially on top of another generic arbitraryExecutorService
.SocketChannelStream WrapsSocketChannel
intoInputStream
/OutputStream
in a way that avoids deadlock when read/write happens concurrently.SocketInputStream InputStream
connected to socket.SocketOutputStream InputStream
connected to socket.StandardOutputStream Hint that indicates that we are usingstdout
with fd=1 as the stream to write to for the channel.SynchronousCommandTransport CommandTransport
that implements the read operation in a synchronous fashion.TeeOutputStream Classic splitter ofOutputStream
.UnexportCommand Command
that unexports an object.URLDeserializationHelper SECURITY-637, this helper wraps the URL into a "safe" version if the url has a non-empty host and the JVM configuration is standard.Util Misc.Which Locates where a given class is loaded from. -
Enum Summary Enum Description Channel.Mode Communication mode used in conjunction withClassicCommandTransport
.RemoteInputStream.Flag -
Exception Summary Exception Description ChannelClosedException Indicates that the channel is already closed or being closed.ClassFilter.ClassFilterException Deprecated. Only used by deprecatedClassFilter.appendDefaultFilter(java.util.regex.Pattern)
.DiagnosedStreamCorruptionException Signals aStreamCorruptedException
with some additional diagnostic information.ProxyException Used when the exception thrown by the remoted code cannot be serialized.RequestAbortedException -
Annotation Types Summary Annotation Type Description Asynchronous Used on a method in a remotable exported interface to designate that the call is made asynchronously.