Any functions that need access to the data structure must do two things to access the other process.
1) Add a function call to the concurrent/futures.py DisassemblerInterface (see existing ones in that object - it is at the bottom of the file) with the appropriate arguments. These arguments will be put into a tuple, associated with a command string, pickled and sent to the disassembler process via a multiprocessing.PIPE. You can call this new function via the interface/app.disassembler object. For example, in maininterface.py we pass a reference to self.app.disassembler to the textbox, which can then call .get(), .length(), etc and the DisassemblerInterface will take care of the interprocess communication.
2) You need to add a decoder to the other process in disassembler/Disassembler.py execute method. This method is called with the command string built in the DisassemblerInterface and the unpickled arguments tuple, which can be passed straight to the correct function in the data structure. See the existing functions for an example of how to do it.
Any functions that need access to the data structure must do two things to access the other process.
1) Add a function call to the concurrent/futures.py DisassemblerInterface (see existing ones in that object - it is at the bottom of the file) with the appropriate arguments. These arguments will be put into a tuple, associated with a command string, pickled and sent to the disassembler process via a multiprocessing.PIPE. You can call this new function via the interface/app.disassembler object. For example, in maininterface.py we pass a reference to self.app.disassembler to the textbox, which can then call .get(), .length(), etc and the DisassemblerInterface will take care of the interprocess communication.
2) You need to add a decoder to the other process in disassembler/Disassembler.py execute method. This method is called with the command string built in the DisassemblerInterface and the unpickled arguments tuple, which can be passed straight to the correct function in the data structure. See the existing functions for an example of how to do it.