Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create abstract class for all VCI events #11

Closed
jdgeddes opened this issue Jun 2, 2011 · 3 comments
Closed

Create abstract class for all VCI events #11

jdgeddes opened this issue Jun 2, 2011 · 3 comments
Assignees
Labels
X-Archive: Shadow [Deprecated label.] Associated with the core Shadow code.
Milestone

Comments

@jdgeddes
Copy link
Contributor

jdgeddes commented Jun 2, 2011

Currently when executing, depositing and destroying a VCI event a switch statement is used to determine what function should be called, all with similar parameters. To make it easier for managing VCI events, create an abstract class that has a vtable of callback functions that will be called at the appropriate times.

Also, any refactoring of the code that can be done should, so if possible these VCI events should have their own files for implementation.

@ghost ghost assigned jdgeddes Jun 2, 2011
jdgeddes added a commit that referenced this issue Jun 2, 2011
@robgjansen
Copy link
Member

I was thinking all events in shadow would follow the same pattern instead of having event "subtypes". This means the non-vci events (DTIMER, SIMOP, TICKTOCK) would also be refactored to extend the abstract class.

Or would it be better to differentiate "virtual" communication events (i.e. one node creating an event for itself or for another) from "physical" communication events (i.e. one process or thread creates events for another process or thread)?
Thoughts?

@jdgeddes
Copy link
Contributor Author

jdgeddes commented Jun 8, 2011

It seems that it is definitely possible to have just one abstract event class which is used both for virtual and physics events. However, there would seem to be quite a few variables that would just be used by the VCI events, and I would think having two separate abstract classes would allow for easier expansion for events that needed to be added to either the physical or virtual event class, especially if they differed in some major way.

For now I'll just go ahead and create a separate abstract class for non-vci events, but if at any point it's decided that it's better to have just one abstract class, it should be a relatively easy to make that change.

@robgjansen
Copy link
Member

Any part of this that may not have been done will be cleaned up during the re-write of the threading engine.

robgjansen added a commit that referenced this issue Aug 15, 2012
Use shadow's openssl thread locking and thread id functions. also, build
static-only versions of openssl and libevent and link to those. this way
each scallion.so will contain its own static versions of those libs.

Also updated default to tor-0.2.3.13-alpha, and update the
crypto_pk_env_t to crypto_pk_t. This will break older versions of Tor.

refs #11
robgjansen added a commit that referenced this issue Jun 12, 2017
Make the version requirement checks more closely follow glibc's behavior.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
X-Archive: Shadow [Deprecated label.] Associated with the core Shadow code.
Projects
None yet
Development

No branches or pull requests

2 participants