Package org.jrd.agent
Class AgentActionWorker
- java.lang.Object
-
- java.lang.Thread
-
- org.jrd.agent.AgentActionWorker
-
- All Implemented Interfaces:
java.lang.Runnable
public class AgentActionWorker extends java.lang.ThreadThis class handles the socket accepting and request processing from the decompiler
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static interfaceAgentActionWorker.ListInjector<T>private static interfaceAgentActionWorker.ParametrisedRunnerprivate static classAgentActionWorker.StringAndClassLoader
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Booleanabortprivate static java.lang.StringAGENT_ERROR_IDprivate InstrumentationProviderprovider
-
Constructor Summary
Constructors Constructor Description AgentActionWorker(java.net.Socket socket, InstrumentationProvider provider)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.lang.Stringbase64toSring(java.lang.String item)private voidcloseSocket(java.io.BufferedWriter out, java.net.Socket socket)private static java.lang.StringdecryptClassloader(java.lang.String item)private voidexecuteParametrisedNoReturnCommand(java.io.BufferedReader in, java.io.BufferedWriter out, java.lang.String help, AgentActionWorker.ParametrisedRunner parametrisedRunner)private voidexecuteRequest(java.net.Socket socket, InstrumentationProvider localProvider)private voidgetAllFilteredClasses(java.io.BufferedReader in, java.io.BufferedWriter out)private voidgetAllLoadedClasses(java.io.BufferedWriter out, boolean doGetInfo, java.lang.String classlaoder)private voidgetAllOverridesClasses(java.io.BufferedWriter out)private voidgetList(java.io.BufferedWriter out, java.lang.String id, AgentActionWorker.ListInjector<java.lang.String> injector)private voidgetVersion(java.io.BufferedWriter out)private voidinitClass(java.io.BufferedReader in, java.io.BufferedWriter out)private voidreceiveByteCode(java.io.BufferedReader in, java.io.BufferedWriter out, ReceivedType rewroteAddJar)private voidremoveOverrides(java.io.BufferedReader in, java.io.BufferedWriter out)private voidsendByteCode(java.io.BufferedReader in, java.io.BufferedWriter out, java.lang.String classloader)private static java.lang.StringtoError(java.lang.String message)private static java.lang.StringtoError(java.lang.Throwable ex)private voidwriteToStreamBasedOnLine(java.net.Socket socket, InstrumentationProvider localProvider, java.io.BufferedReader inputStream, java.io.BufferedWriter outputStream, java.lang.String origLine)-
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, run, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
-
-
-
-
Field Detail
-
provider
private InstrumentationProvider provider
-
abort
private java.lang.Boolean abort
-
AGENT_ERROR_ID
private static final java.lang.String AGENT_ERROR_ID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AgentActionWorker
public AgentActionWorker(java.net.Socket socket, InstrumentationProvider provider)
-
-
Method Detail
-
toError
private static java.lang.String toError(java.lang.String message)
-
toError
private static java.lang.String toError(java.lang.Throwable ex)
-
executeRequest
private void executeRequest(java.net.Socket socket, InstrumentationProvider localProvider)
-
writeToStreamBasedOnLine
private void writeToStreamBasedOnLine(java.net.Socket socket, InstrumentationProvider localProvider, java.io.BufferedReader inputStream, java.io.BufferedWriter outputStream, java.lang.String origLine) throws java.io.IOException- Throws:
java.io.IOException
-
getList
private void getList(java.io.BufferedWriter out, java.lang.String id, AgentActionWorker.ListInjector<java.lang.String> injector) throws java.io.IOException- Throws:
java.io.IOException
-
getAllLoadedClasses
private void getAllLoadedClasses(java.io.BufferedWriter out, boolean doGetInfo, java.lang.String classlaoder) throws java.io.IOException- Throws:
java.io.IOException
-
getAllFilteredClasses
private void getAllFilteredClasses(java.io.BufferedReader in, java.io.BufferedWriter out) throws java.io.IOException- Throws:
java.io.IOException
-
decryptClassloader
private static java.lang.String decryptClassloader(java.lang.String item)
-
base64toSring
public static java.lang.String base64toSring(java.lang.String item)
-
getAllOverridesClasses
private void getAllOverridesClasses(java.io.BufferedWriter out) throws java.io.IOException- Throws:
java.io.IOException
-
sendByteCode
private void sendByteCode(java.io.BufferedReader in, java.io.BufferedWriter out, java.lang.String classloader) throws java.io.IOException- Throws:
java.io.IOException
-
getVersion
private void getVersion(java.io.BufferedWriter out) throws java.io.IOException- Throws:
java.io.IOException
-
executeParametrisedNoReturnCommand
private void executeParametrisedNoReturnCommand(java.io.BufferedReader in, java.io.BufferedWriter out, java.lang.String help, AgentActionWorker.ParametrisedRunner parametrisedRunner) throws java.io.IOException- Throws:
java.io.IOException
-
initClass
private void initClass(java.io.BufferedReader in, java.io.BufferedWriter out) throws java.io.IOException- Throws:
java.io.IOException
-
removeOverrides
private void removeOverrides(java.io.BufferedReader in, java.io.BufferedWriter out) throws java.io.IOException- Throws:
java.io.IOException
-
receiveByteCode
private void receiveByteCode(java.io.BufferedReader in, java.io.BufferedWriter out, ReceivedType rewroteAddJar) throws java.io.IOException- Throws:
java.io.IOException
-
closeSocket
private void closeSocket(java.io.BufferedWriter out, java.net.Socket socket) throws java.io.IOException- Throws:
java.io.IOException
-
-