Skip to content
This repository has been archived by the owner on Sep 1, 2022. It is now read-only.

Shadow I2P Plugin #82

Closed
anonimal opened this issue Jan 24, 2016 · 4 comments
Closed

Shadow I2P Plugin #82

anonimal opened this issue Jan 24, 2016 · 4 comments

Comments

@anonimal
Copy link
Collaborator

Shadow is a unique discrete-event network simulator that runs real applications like Tor and Bitcoin, and distributed systems of thousands of nodes on a single machine. Shadow combines the accuracy of emulation with the efficiency and control of simulation, achieving the best of both approaches.

https://shadow.github.io/
https://github.com/shadow/shadow/
https://github.com/shadow/shadow-plugin-tor/

I'm still researching on if/how we could pull this off with minimal to no kovri hacking. In all this looks like a lot of work but with huge payout. This could be an incredible bitmonero/kovri joint venture.

@majestrate
Copy link
Contributor

Shadow requires the program work in a single threaded context

@robgjansen
Copy link

Shadow requires the program work in a single threaded context

This is no longer true, as of Shadow version 1.11.0. See here:
https://github.com/shadow/shadow/releases/tag/v1.11.0

The Shadow plug-in architecture was redesigned using a fork of GNU portable threads, meaning that very few changes are required to the plug-in code. If your code uses pthreads, then Shadow should support it out-of-the box. Your plug-in can also make blocking system calls, like sleep(), and Shadow will handle it transparently thanks to the integration of the portable threads library.

The only restrictions that remain for Shadow plug-ins are:

  • your code cannot contain infinite loops, or loops that depend on the passage of time to break (if it makes a blocking IO call or syscall that Shadow hooks, then it should work)
  • your code cannot fork/exec processes

@majestrate
Copy link
Contributor

oh wow, very nice.

@anonimal
Copy link
Collaborator Author

anonimal commented Sep 7, 2018

NOTICE: THIS ISSUE HAS BEEN MOVED TO GitLab. Please continue the discussion there. See #1013 for details.

@anonimal anonimal closed this as completed Sep 7, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants