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.Thread
This class handles the socket accepting and request processing from the decompiler
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static interface
AgentActionWorker.ListInjector<T>
private static interface
AgentActionWorker.ParametrisedRunner
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Boolean
abort
private static java.lang.String
AGENT_ERROR_ID
private InstrumentationProvider
provider
-
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 private void
closeSocket(java.io.BufferedWriter out, java.net.Socket socket)
private void
executeParametrisedNoReturnCommand(java.io.BufferedReader in, java.io.BufferedWriter out, java.lang.String help, AgentActionWorker.ParametrisedRunner parametrisedRunner)
private void
executeRequest(java.net.Socket socket, InstrumentationProvider localProvider)
private void
getAllFilteredClasses(java.io.BufferedReader in, java.io.BufferedWriter out)
private void
getAllLoadedClasses(java.io.BufferedWriter out, boolean doGetInfo)
private void
getAllOverridesClasses(java.io.BufferedWriter out)
private void
getList(java.io.BufferedWriter out, java.lang.String id, AgentActionWorker.ListInjector<java.lang.String> injector)
private void
getVersion(java.io.BufferedWriter out)
private void
initClass(java.io.BufferedReader in, java.io.BufferedWriter out)
private void
receiveByteCode(java.io.BufferedReader in, java.io.BufferedWriter out, ReceivedType rewroteAddJar)
private void
removeOverrides(java.io.BufferedReader in, java.io.BufferedWriter out)
private void
sendByteCode(java.io.BufferedReader in, java.io.BufferedWriter out)
private static java.lang.String
toError(java.lang.String message)
private static java.lang.String
toError(java.lang.Throwable ex)
private void
writeToStreamBasedOnLine(java.net.Socket socket, InstrumentationProvider localProvider, java.io.BufferedReader inputStream, java.io.BufferedWriter outputStream, java.lang.String line)
-
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 line) 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) 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
-
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) 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
-
-