⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 settings.hpp

📁 在Linux/Unix环境下发包测试性能的工具
💻 HPP
📖 第 1 页 / 共 2 页
字号:
#define isBuflenSet(settings)      ((settings->flags & FLAG_BUFLENSET) != 0)#define isCompat(settings)         ((settings->flags & FLAG_COMPAT) != 0)#define isDaemon(settings)         ((settings->flags & FLAG_DAEMON) != 0)#define isIPV6(settings)           ((settings->flags & FLAG_DOMAIN) != 0)#define isFileInput(settings)      ((settings->flags & FLAG_FILEINPUT) != 0)#define isNoDelay(settings)        ((settings->flags & FLAG_NODELAY) != 0)#define isPrintMSS(settings)       ((settings->flags & FLAG_PRINTMSS) != 0)#define isRemoveService(settings)  ((settings->flags & FLAG_REMOVESERVICE) != 0)#define isSTDIN(settings)          ((settings->flags & FLAG_STDIN) != 0)#define isSTDOUT(settings)         ((settings->flags & FLAG_STDOUT) != 0)#define isSuggestWin(settings)     ((settings->flags & FLAG_SUGGESTWIN) != 0)#define isUDP(settings)            ((settings->flags & FLAG_UDP) != 0)#define isModeTime(settings)       ((settings->flags & FLAG_MODETIME) != 0)#define isReport(settings)         ((settings->flags & FLAG_REPORTSETTINGS) != 0)#define isMulticast(settings)      ((settings->flags & FLAG_MULTICAST) != 0)// Active Low for Reports#define isSettingsReport(settings) ((settings->flags & FLAG_NOSETTREPORT) == 0)#define isConnectionReport(settings)  ((settings->flags & FLAG_NOCONNREPORT) == 0)#define isDataReport(settings)     ((settings->flags & FLAG_NODATAREPORT) == 0)#define isServerReport(settings)   ((settings->flags & FLAG_NOSERVREPORT) == 0)#define isMultipleReport(settings) ((settings->flags & FLAG_NOMULTREPORT) == 0)// end Active Low#define isSingleClient(settings)   ((settings->flags & FLAG_SINGLECLIENT) != 0)#define isSingleUDP(settings)      ((settings->flags & FLAG_SINGLEUDP) != 0)#define setBuflenSet(settings)     settings->flags |= FLAG_BUFLENSET#define setCompat(settings)        settings->flags |= FLAG_COMPAT#define setDaemon(settings)        settings->flags |= FLAG_DAEMON#define setIPV6(settings)          settings->flags |= FLAG_DOMAIN#define setFileInput(settings)     settings->flags |= FLAG_FILEINPUT#define setNoDelay(settings)       settings->flags |= FLAG_NODELAY#define setPrintMSS(settings)      settings->flags |= FLAG_PRINTMSS#define setRemoveService(settings) settings->flags |= FLAG_REMOVESERVICE#define setSTDIN(settings)         settings->flags |= FLAG_STDIN#define setSTDOUT(settings)        settings->flags |= FLAG_STDOUT#define setSuggestWin(settings)    settings->flags |= FLAG_SUGGESTWIN#define setUDP(settings)           settings->flags |= FLAG_UDP#define setModeTime(settings)      settings->flags |= FLAG_MODETIME#define setReport(settings)        settings->flags |= FLAG_REPORTSETTINGS#define setMulticast(settings)     settings->flags |= FLAG_MULTICAST#define setNoSettReport(settings)  settings->flags |= FLAG_NOSETTREPORT#define setNoConnReport(settings)  settings->flags |= FLAG_NOCONNREPORT#define setNoDataReport(settings)  settings->flags |= FLAG_NODATAREPORT#define setNoServReport(settings)  settings->flags |= FLAG_NOSERVREPORT#define setNoMultReport(settings)  settings->flags |= FLAG_NOMULTREPORT#define setSingleClient(settings)  settings->flags |= FLAG_SINGLECLIENT#define setSingleUDP(settings)     settings->flags |= FLAG_SINGLEUDP#define unsetBuflenSet(settings)   settings->flags &= ~FLAG_BUFLENSET#define unsetCompat(settings)      settings->flags &= ~FLAG_COMPAT#define unsetDaemon(settings)      settings->flags &= ~FLAG_DAEMON#define unsetIPV6(settings)        settings->flags &= ~FLAG_DOMAIN#define unsetFileInput(settings)   settings->flags &= ~FLAG_FILEINPUT#define unsetNoDelay(settings)     settings->flags &= ~FLAG_NODELAY#define unsetPrintMSS(settings)    settings->flags &= ~FLAG_PRINTMSS#define unsetRemoveService(settings)  settings->flags &= ~FLAG_REMOVESERVICE#define unsetSTDIN(settings)       settings->flags &= ~FLAG_STDIN#define unsetSTDOUT(settings)      settings->flags &= ~FLAG_STDOUT#define unsetSuggestWin(settings)  settings->flags &= ~FLAG_SUGGESTWIN#define unsetUDP(settings)         settings->flags &= ~FLAG_UDP#define unsetModeTime(settings)    settings->flags &= ~FLAG_MODETIME#define unsetReport(settings)      settings->flags &= ~FLAG_REPORTSETTINGS#define unsetMulticast(settings)   settings->flags &= ~FLAG_MULTICAST#define unsetNoSettReport(settings)   settings->flags &= ~FLAG_NOSETTREPORT#define unsetNoConnReport(settings)   settings->flags &= ~FLAG_NOCONNREPORT#define unsetNoDataReport(settings)   settings->flags &= ~FLAG_NODATAREPORT#define unsetNoServReport(settings)   settings->flags &= ~FLAG_NOSERVREPORT#define unsetNoMultReport(settings)   settings->flags &= ~FLAG_NOMULTREPORT#define unsetSingleClient(settings)   settings->flags &= ~FLAG_SINGLECLIENT#define unsetSingleUDP(settings)      settings->flags &= ~FLAG_SINGLEUDP#define HEADER_VERSION1 0x80000000#define RUN_NOW         0x00000001// used to reference the 4 byte ID number we place in UDP datagrams// use int32_t if possible, otherwise a 32 bit bitfield (e.g. on J90) typedef struct UDP_datagram {#ifdef HAVE_INT32_T    int32_t id;    u_int32_t tv_sec;    u_int32_t tv_usec;#else    signed   int id      : 32;    unsigned int tv_sec  : 32;    unsigned int tv_usec : 32;#endif} UDP_datagram;/* * The client_hdr structure is sent from clients * to servers to alert them of things that need * to happen. Order must be perserved in all  * future releases for backward compatibility. * 1.7 has flags, numThreads, mPort, and bufferlen */typedef struct client_hdr {#ifdef HAVE_INT32_T    /*     * flags is a bitmap for different options     * the most significant bits are for determining     * which information is available. So 1.7 uses     * 0x80000000 and the next time information is added     * the 1.7 bit will be set and 0x40000000 will be     * set signifying additional information. If no      * information bits are set then the header is ignored.     * The lowest order diferentiates between dualtest and     * tradeoff modes, wheither the speaker needs to start      * immediately or after the audience finishes.     */    int32_t flags;    int32_t numThreads;    int32_t mPort;    int32_t bufferlen;    int32_t mWinBand;    int32_t mAmount;#else    signed int flags      : 32;    signed int numThreads : 32;    signed int mPort      : 32;    signed int bufferlen  : 32;    signed int mWinBand   : 32;    signed int mAmount    : 32;#endif} client_hdr;/* * The server_hdr structure facilitates the server * report of jitter and loss on the client side. * It piggy_backs on the existing clear to close * packet. */typedef struct server_hdr {#ifdef HAVE_INT32_T    /*     * flags is a bitmap for different options     * the most significant bits are for determining     * which information is available. So 1.7 uses     * 0x80000000 and the next time information is added     * the 1.7 bit will be set and 0x40000000 will be     * set signifying additional information. If no      * information bits are set then the header is ignored.     */    int32_t flags;    int32_t total_len1;    int32_t total_len2;    int32_t stop_sec;    int32_t stop_usec;    int32_t error_cnt;    int32_t outorder_cnt;    int32_t datagrams;    int32_t jitter1;    int32_t jitter2;#else    signed int flags        : 32;    signed int total_len1   : 32;    signed int total_len2   : 32;    signed int stop_sec     : 32;    signed int stop_usec    : 32;    signed int error_cnt    : 32;    signed int outorder_cnt : 32;    signed int datagrams    : 32;    signed int jitter1      : 32;    signed int jitter2      : 32;#endif} server_hdr;    // set to defaults    void Settings_Initialize( thread_Settings* main );    // copy structure    void Settings_Copy( thread_Settings* from, thread_Settings** into );    // free associated memory    void Settings_Destroy( thread_Settings *mSettings );    // parse settings from user's environment variables    void Settings_ParseEnvironment( thread_Settings *mSettings );    // parse settings from app's command line    void Settings_ParseCommandLine( int argc, char **argv, thread_Settings *mSettings );    // convert to lower case for [KMG]bits/sec    void Settings_GetLowerCaseArg(const char *,char *);    // convert to upper case for [KMG]bytes/sec    void Settings_GetUpperCaseArg(const char *,char *);    // generate settings for listener instance    void Settings_GenerateListenerSettings( thread_Settings *client, thread_Settings **listener);    // generate settings for speaker instance    void Settings_GenerateClientSettings( thread_Settings *server,                                           thread_Settings **client,                                          client_hdr *hdr );    // generate client header for server    void Settings_GenerateClientHdr( thread_Settings *client, client_hdr *hdr );#ifdef __cplusplus} /* end extern "C" */#endif#endif // SETTINGS_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -