aboutsummaryrefslogblamecommitdiff
path: root/include/salticidae/util.h
blob: 7552f8ed9efcedb3c17a6898c9a897cc3bc54b2e (plain) (tree)



































                                                                                  
                              

                           



                                                              

                                                                 



                                                                               




                                              


















                                                                                           


                                                                     





                 
                       


                                                             

                                                      

                                                     
                                                       
                                                                          

     
                                             








                                       
                           



                                   
                            






















































                                                                        
 


                                    

                                   
                                     
                 
               



                                                       

                                         
                                                 
                                   


                                    
                        
               



                                                      

                                                      


                                                          
                                          


                                    
                
               



                                                      

                                       



                                                          
                                               


                                                         
                                  


                                       
                   
               



                                                         

                                             



                                                          
                                               


                                                        
                                     


                                       

                                                  
               



                                                         

                                                      


                                                         
                                       


            
















                                                                                          

                            

                           

                          
                       
                                                                  


                                                  

                                                  

                                                
                                     



                                             

      

                                                
                           
                                   
 



                                                                
               

                                          

                                                                                



                
                                                                                   
                                    
                                                

                                        
                                           

  


      
/**
 * Copyright (c) 2018 Cornell University.
 *
 * Author: Ted Yin <tederminant@gmail.com>
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy of
 * this software and associated documentation files (the "Software"), to deal in
 * the Software without restriction, including without limitation the rights to
 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
 * of the Software, and to permit persons to whom the Software is furnished to do
 * so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */

#ifndef _SALTICIDAE_COMMON_H
#define _SALTICIDAE_COMMON_H

#include <string>
#include <exception>
#include <cstdarg>
#include <vector>
#include <unordered_map>
#include <functional>
#include <getopt.h>
#include <event2/event.h>

#include "salticidae/config.h"
#include "salticidae/ref.h"

namespace salticidae {

void sec2tv(double t, struct timeval &tv);
void event_add_with_timeout(struct event *ev, double timeout);
double gen_rand_timeout(double base_timeout, double