Skip to content


Subversion checkout URL

You can clone with
Download ZIP


Support 1 application per plug-in, multiple plug-ins per node #25

robgjansen opened this Issue · 0 comments

1 participant


Currently, if a node wants to run multiple applications, it must write its plugin to manage those applications and track which sockets belong to which applications. This should be done in shadow, so that a plug-in that runs Tor is completely separate from a plug-in that runs a file server.

Shadow can track which application creates which sockets by keeping a cached pointer to the application before calling into its code. Then if any interceptions happen while in the application context, the sockets that are created/deleted, etc, can be linked to that application. Communication between applications on a single virtual node (localhost) should go through a high-bandwidth shadow interface.

@robgjansen robgjansen was assigned
@robgjansen robgjansen referenced this issue from a commit
@robgjansen robgjansen Multiple virtual applications per virtual node
-Revamped the XML parsing code to do complete validation and error
-Changed XML format so require link elements to be embedded in cluster
elements, and application elements embedded in node elements
-Added core support to Shadow to allow virtual nodes to correctly manage
multiple virtual applications from various plugins

Still need to clean up scallion to remove all the hacks we were
previously using to run multiple "services" in the same plugin

refs #25
@robgjansen robgjansen referenced this issue from a commit
@robgjansen robgjansen Remove hacks to run multiple applications inside scallion
We no longer need to add the hacks to run applications at the same time
as scallion given the new XML format and related functionality.

refs #25
@robgjansen robgjansen closed this issue from a commit
@robgjansen robgjansen Finishing support for new topology format
-readme and conf files use shadow-support email address
-examples support new application elements
-removed old simple scallion example in favor of the minimal example script generates valid xml files for new format
-ignore "hosts" and "topology" root-level elements

closes #25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.