case OOP_EXCEPTION: case OOP_NUM_EVENTS: default: break;
void *fd_demux(oop_source *src, int fd, oop_event ev, void* usr){	Socket* s = (Socket*) usr;	switch(ev){	case OOP_READ:		s->on_read();		break;	case OOP_WRITE:		s->on_write();		break;	}	return OOP_CONTINUE;}