Package hudson.remoting
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
.
-
ClassDescription
CommandTransport
that works withbyte[]
instead of command object.SynchronousCommandTransport
that works withbyte[]
instead of command object.Future
implementation whose computation is carried out elsewhere.Used on a method in a remotable exported interface to designate that the call is made asynchronously.ExecutorService
that uses at most one executor.Deprecated.Tunnels byte stream into another byte stream so that binary data can be sent across binary-unsafe stream.Represents computation to be done on a remote system.Deprecated.Represents additional features implemented onChannel
.Represents a communication channel to the remote peer.Callback "interface" for changes in the state ofChannel
.Communication mode used in conjunction withClassicCommandTransport
.Indicates that the channel is already closed or being closed.A convenient key type forChannel.getProperty(Object)
andChannel.setProperty(Object, Object)
Parsing of the chunk header.Restricts what classes can be received through remoting.Deprecated.Only used by deprecatedClassFilter.appendDefaultFilter(java.util.regex.Pattern)
.Remoting-aware holder ofClassLoader
that replaces ClassLoader by itsRemoteClassLoader
.One-way command to be sent over to the remote system and executed there.Lower level abstraction underChannel
for sending and receiving commandsDelegatingCallable<V,T extends Throwable> Callable
that nominates another classloader for serialization.Signals aStreamCorruptedException
with some additional diagnostic information.Agent engine that proactively connects to Jenkins controller.Receives status notification fromEngine
.Adapter class forEngineListener
to shield subtypes from future callback additions.EngineListener
that distributes callbacks.OutputStream
that's connected to anInputStream
somewhere, which provides ability to haveInputStream
report an error.This class is equivalent toPipedInputStream
.This class is equivalent toPipedOutputStream
.JarCache
that stores files in a single directory.Future<V>Alias toFuture
.Takes a directory of jars and populates them into the given jar cache directory with the correct hash names.Used internally in the remoting code to have the proxy object implement readResolve.Jar file cache.Default partial implementation ofJarCache
.Remoting interface to allow the other side to retrieve a jar file from the checksum advertised inResourceImageInJar
.Deprecated.Do not use, intended as a temporary workaround only.Entry point for running aChannel
.VirtualChannel
that performs computation on the local JVM.Thread factory that sets thread name so we know who is responsible for so many threads being created.ObjectInputStream
that uses a specificClassLoader
and can use aClassFilter
to limit what classes can be loaded.Periodically perform a ping.Pipe for the remoteCallable
and the local program to talk to each other.Used when the exception thrown by the remoted code cannot be serialized.WrapsInputStream
so that it can be sent over the remoting channel.OutputStream
that can be sent over to the remoteChannel
, so that the remoteCallable
can write to a localOutputStream
.Request/response pattern overChannel
, the layer-1 service.Request/response pattern overCommand
.Creates anExecutorService
that executes submitted tasks sequentially on top of another generic arbitraryExecutorService
.WrapsSocketChannel
intoInputStream
/OutputStream
in a way that avoids deadlock when read/write happens concurrently.InputStream
connected to socket.InputStream
connected to socket.Hint that indicates that we are usingstdout
with fd=1 as the stream to write to for the channel.CommandTransport
that implements the read operation in a synchronous fashion.Classic splitter ofOutputStream
.Command
that unexports an object.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.Misc.VirtualizedChannel
that allows different implementations.Locates where a given class is loaded from.
Base64
instead