Example #1
0
def main(host='0.0.0.0', port=8080):
    
    
    #We just initialise and give the server address and port
    libevent.event_init()
    print "listening on %s:%i" % (host,port)
    http = libevent.evhttp_start(host, port)
    
    libevent.evhttp_set_gencb(http, inc_ref(FUNC(root_handler)), None);
    # handle CTRL+C
    event = libevent.event()
    event_ref = ctypes.byref(event)
    libevent.signal_set(event_ref, signal.SIGINT, inc_ref(FUNC2(signal_handler)), None)
    libevent.signal_add(event_ref, None)
    
    
    libevent.event_dispatch()
    
    # end loop - id est Ctrl+c :P 
    libevent.evhttp_free(http)
    
    raise KeyboardInterrupt
Example #2
0
def xxxx(response, callback_url, fd):
    #global ud_map
    #print ''.join(traceback.format_stack())
    
    event = libevent.event()
    user_data = {}
    user_data['response'] = response
    user_data['callback_url'] = callback_url
    user_data['event'] = event
    user_data['id'] = ctypes.c_long(id(user_data))
    user_data['byref(event)'] = ctypes.byref(event)
    user_data['byref(id)'] = ctypes.byref(user_data['id'])
    user_data['fd'] = fd


    ud_map[user_data['id'].value] = user_data
    #print "ADD %i (%r) %i" % (user_data['id'].value, ud_map.keys(), id(ud_map) )
    
    response.continuation = True
    # set in root_handler.
    response.environ = {}
    response.http_request = None
    
    return (user_data, event)