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

Support epoll instead of libevent #32

Closed
robgjansen opened this issue Oct 27, 2011 · 0 comments
Closed

Support epoll instead of libevent #32

robgjansen opened this issue Oct 27, 2011 · 0 comments
Assignees
Labels
X-Archive: Shadow [Deprecated label.] Associated with the core Shadow code.
Milestone

Comments

@robgjansen
Copy link
Member

epoll is a system interface for polling buffers. The interface is much smaller and is built into the kernel. We should implement the interface for Shadow, intercept and redirect the epoll functions to Shadow's version, and remove support for the rather large libevent.

robgjansen added a commit that referenced this issue Oct 28, 2011
Epoll will replace our implementation of libevent, because its a much
smaller interface and we already kind of provide that functionality
anyway. Libevent uses epoll as a backend to get events on kernel
buffers.

None of the changes in this commit are used yet.

refs #32
robgjansen added a commit that referenced this issue Nov 15, 2011
This will serve as a test of how well we conform to the OS epoll
interface.

refs #32
@ghost ghost assigned robgjansen Nov 16, 2011
robgjansen added a commit that referenced this issue Nov 17, 2011
Descriptors notify listeners when they are readable/writable. Also,
partly implemented epoll devices to manage the task of
watching descriptors for events.

refs #32
robgjansen added a commit that referenced this issue Nov 17, 2011
Doesn't run echo plugin yet because other descriptor types need to be
integrated into the new descriptor system.

refs #32
robgjansen added a commit that referenced this issue Dec 1, 2011
robgjansen added a commit that referenced this issue Dec 1, 2011
    
Implemented connect.
    
refs #32
robgjansen added a commit that referenced this issue Dec 1, 2011
Still need to implement protocols and transport functionality.

refs #32
robgjansen added a commit that referenced this issue Dec 1, 2011
robgjansen added a commit that referenced this issue Dec 1, 2011
Building up the interface and transport layers. Reimplemented/refactored
most of the code using the old implementation as a guide. Also removed
the old code in src/virtual/* from the build.

Currently in a broken state, but builds fine.

refs #32
robgjansen added a commit that referenced this issue Dec 1, 2011
robgjansen added a commit that referenced this issue Dec 1, 2011
robgjansen added a commit that referenced this issue Dec 1, 2011
robgjansen added a commit that referenced this issue Dec 1, 2011
The example produces consistent transfers. CPU delays have been
disabled, and currently are broken.

refs #32
robgjansen added a commit that referenced this issue Dec 1, 2011
Still missing packet processing for incoming packets. Builds, but wont
work until processing is in place.

refs #32
robgjansen added a commit that referenced this issue Dec 1, 2011
Still no closing functionality or handling of reset packets.

refs #32
robgjansen added a commit that referenced this issue Dec 1, 2011
TCP retranmission problems exist due because we cant buffer packets that
have been sent but need to be retransmitted.

refs #32
robgjansen added a commit that referenced this issue Dec 1, 2011
Descriptors can be listed for activity, not just status changes. This is
needed to ensure we issue notifications when we need to.

refs #32
robgjansen added a commit that referenced this issue Dec 1, 2011
All 6 Echo client tests pass:
reliable TCP/UDP over Eth/Lo (4 tests)
unreliable TCP over Eth/Lo (2 tests)

refs #32
robgjansen added a commit that referenced this issue Dec 1, 2011
Still have not tested if closes are working properly.
Removed several files from the old Shadow implementation.

refs #32
robgjansen added a commit that referenced this issue Dec 1, 2011
Both client and server in Echo application are successfully going
through an entire connections and closing properly.

refs #32
robgjansen added a commit that referenced this issue Dec 5, 2011
robgjansen added a commit that referenced this issue Dec 5, 2011
Also started intercepting some hostname DNS functions, since its likely
libevent will need some. (didnt implement them yet)

refs #32
robgjansen added a commit that referenced this issue Dec 5, 2011
Added socketpair and pipe examples to the echo plugin. They work in both
the main and the shadow version of the Echo application. Slighlty
refactored linkedbuffer to bytequeue for use in the new channel class
for pipes.

refs #32
robgjansen added a commit that referenced this issue Dec 7, 2011
Fixed a few issues valgrind found. Still a couple left.

refs #32
robgjansen added a commit that referenced this issue Dec 8, 2011
Valgrind reports no memory leaks.

refs #32
qincunrong pushed a commit to qincunrong/shadow that referenced this issue Nov 29, 2022
…rations

添加isChangingConfigurations()
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

1 participant