Skip to content

ksophocleous/levlib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

levlib

These are some simple C++11 wrapper objects; I will likely add more as need arises.

Currently there are only 3:

  • the loop (default loop)
  • socket
  • timer

git clone then git submodule update --init for vendor/libev (currently wont work with the system installed libev)

socket example:

#include <lev/lev.h>

int main(int argc, char** argv)
{
	lev::loop loop;
	lev::socket socket(loop);
	lev::timer timeout(loop);

	timeout.OnTimerFired = [&loop] () { loop.Break(); };
	timeout.StartOneShot(15 * 1000);

	/* create your socket fdsocket */

	socket.OnReadEvent = [] ()	{ /* read from socket */ };
	socket.OnWriteEvent = [] () { /* write some data; clear write event possibly */ };
	socket.OnErrorEvent = [] () { /* figure out the socket error */ };
	socket.SetActiveEvents(fdsocket, lev::socket::EventRead | lev::socket::EventWrite);

	loop.loop();
	
	return 0;
}

About

c++11 libev wrapper + cmake

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages