The interactive file manager requires Javascript. Please enable it or use sftp or scp.
You may still browse the files here.

Download Latest Version environment.tgz (1.2 kB)
Email in envelope

Get an email when there's a new version of DOOTy group

Name Modified Size InfoDownloads / Week
Parent folder
README 2001-10-28 1.3 kB
env.py 2001-10-28 7.1 kB
Totals: 2 Items   8.3 kB 0
Here's how to use it:

(In order to keep the output legible, I usually run each environment in it's
own instance of the python interpreter)

#import the module
import env

# make an environment instance with
# Id = "Alice" which listens to port 10000 on the local host,
# and that knows about a single peer "Bob"
# which it expects to be listening on port 10001
# (see the code in env.py for details, it's pretty simple)
a = env.alice()

# makes "Bob" on port 10001  
# who knows about "Charlie" on port 10002
b = env.bob()


# start Alice's thread, it will begin requesting
# peers and pings from its peers, as well as
# replying to responses
a.start()

# start Bob's thread, Bob will begin responding to 
# Alice's requests
b.start()



You should see some debugging messages, when requests and responses are
received. Alice should discover Charlie as a peer, and periodically update 
the pingtime.

There are more conveinience methods for creating more environments:
env.charlie() # knows about "David"
env.david()   # knows about "Elmo"
env.elmo()    # knows about "Alice"


Elmo sets up a loop where eventually everybody knows about everybod else...

The entry point to the main thread is the method environment.run(), if you
are interested in the code.

Source: README, updated 2001-10-28