1 #ifndef NCHAN_DEFS_H 2 #define NCHAN_DEFS_H 3 4 #define NCHAN_DEFAULT_SHM_SIZE 134217728 //128 megs 5 #define NCHAN_DEFAULT_MESSAGE_TIMEOUT 3600 6 #define NCHAN_DEFAULT_REDIS_IDLE_CHANNEL_CACHE_TIMEOUT 30 7 #define NCHAN_DEFAULT_SUBSCRIBER_TIMEOUT 0 //default: never timeout 8 #define NCHAN_DEFAULT_REDIS_NODE_CONNECT_TIMEOUT_MSEC 600 9 //(liucougar: this is a bit confusing, but it is what's the default behavior before this option is introducecd) 10 #define NCHAN_DEFAULT_SUBSCRIBER_PING_INTERVAL 0 11 12 #define NCHAN_DEFAULT_CHANNEL_TIMEOUT 5 //default: timeout in 5 seconds 13 14 #define NCHAN_DEFAULT_MIN_MESSAGES 1 15 #define NCHAN_DEFAULT_MAX_MESSAGES 10 16 17 #define NCHAN_SUBSCRIBER_DEFAULT_FIRST_MESSAGE 1 18 #define NCHAN_SUBSCRIBER_FIRST_MESSAGE_UNSET 4096 19 20 #define NCHAN_MAX_CHANNEL_ID_LENGTH 1024 //bytes 21 22 #define NCHAN_META_CHANNEL_MAX_MESSAGES 100 23 #define NCHAN_META_CHANNEL_MESSAGE_TTL 10 24 #define NCHAN_META_CHANNEL_TIMEOUT 30 25 26 #ifndef NGX_HTTP_REQUEST_TIMEOUT 27 #define NGX_HTTP_REQUEST_TIMEOUT 408 28 #endif 29 30 #ifndef NGX_HTTP_CONFLICT 31 #define NGX_HTTP_CONFLICT 409 32 #endif 33 34 #ifndef NGX_HTTP_SWITCHING_PROTOCOLS 35 #define NGX_HTTP_SWITCHING_PROTOCOLS 101 36 #endif 37 38 #ifndef NGX_HTTP_GONE 39 #define NGX_HTTP_GONE 410 40 #endif 41 42 #ifndef NGX_HTTP_CREATED 43 #define NGX_HTTP_CREATED 201 44 #endif 45 46 #ifndef NGX_HTTP_ACCEPTED 47 #define NGX_HTTP_ACCEPTED 202 48 #endif 49 50 #define NCHAN_MESSAGE_RECEIVED 9000 51 #define NCHAN_MESSAGE_QUEUED 9001 52 53 #define NCHAN_NOTICE_SUBSCRIBER_INFO_REQUEST 1337 54 55 #define NCHAN_SUBSCRIBER_INFO_CHANNEL_ID_BUFFER_SIZE 64 56 57 extern const ngx_str_t NCHAN_HEADER_ETAG; 58 extern const ngx_str_t NCHAN_HEADER_IF_NONE_MATCH; 59 extern const ngx_str_t NCHAN_HEADER_VARY; 60 extern const ngx_str_t NCHAN_HEADER_ALLOW; 61 extern const ngx_str_t NCHAN_HEADER_CACHE_CONTROL; 62 extern const ngx_str_t NCHAN_HEADER_PRAGMA; 63 extern const ngx_str_t NCHAN_HEADER_ORIGIN; 64 65 extern const ngx_str_t NCHAN_HEADER_ACCESS_CONTROL_ALLOW_HEADERS; 66 extern const ngx_str_t NCHAN_HEADER_ACCESS_CONTROL_ALLOW_METHODS; 67 extern const ngx_str_t NCHAN_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN; 68 extern const ngx_str_t NCHAN_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS; 69 extern const ngx_str_t NCHAN_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS; 70 71 extern const ngx_str_t NCHAN_HEADER_EVENTSOURCE_EVENT; 72 73 extern const ngx_str_t NCHAN_HEADER_CONNECTION; 74 extern const ngx_str_t NCHAN_HEADER_UPGRADE; 75 extern const ngx_str_t NCHAN_HEADER_SEC_WEBSOCKET_KEY; 76 extern const ngx_str_t NCHAN_HEADER_SEC_WEBSOCKET_ACCEPT; 77 extern const ngx_str_t NCHAN_HEADER_SEC_WEBSOCKET_VERSION; 78 extern const ngx_str_t NCHAN_HEADERS_SEC_WEBSOCKET_PROTOCOL; 79 extern const ngx_str_t NCHAN_HEADER_SEC_WEBSOCKET_EXTENSIONS; 80 81 //header values 82 extern const ngx_str_t NCHAN_CACHE_CONTROL_VALUE; 83 84 //status strings 85 extern const ngx_str_t NCHAN_HTTP_STATUS_101; 86 extern const ngx_str_t NCHAN_HTTP_STATUS_204; 87 extern const ngx_str_t NCHAN_HTTP_STATUS_304; 88 extern const ngx_str_t NCHAN_HTTP_STATUS_400; 89 extern const ngx_str_t NCHAN_HTTP_STATUS_408; 90 extern const ngx_str_t NCHAN_HTTP_STATUS_409; 91 extern const ngx_str_t NCHAN_HTTP_STATUS_410; 92 93 //other stuff 94 95 extern const ngx_str_t NCHAN_UPGRADE; 96 extern const ngx_str_t NCHAN_SUBSCRIBER_TIMEOUT; 97 extern const ngx_str_t NCHAN_WEBSOCKET; 98 extern const ngx_str_t NCHAN_ANYSTRING; 99 extern const ngx_str_t NCHAN_ACCESS_CONTROL_ALLOWED_PUBLISHER_HEADERS; 100 extern const ngx_str_t NCHAN_ACCESS_CONTROL_ALLOWED_SUBSCRIBER_HEADERS; 101 extern const ngx_str_t NCHAN_ACCESS_CONTROL_ALLOWED_PUBSUB_HEADERS; 102 extern const ngx_str_t NCHAN_ACCESS_CONTROL_ALLOWED_GROUP_HEADERS; 103 extern const ngx_str_t NCHAN_ALLOW_GET_POST_PUT_DELETE; 104 extern const ngx_str_t NCHAN_ALLOW_GET_POST_DELETE; 105 extern const ngx_str_t NCHAN_ALLOW_GET; 106 extern const ngx_str_t NCHAN_VARY_HEADER_VALUE; 107 extern const ngx_str_t NCHAN_MSG_RESPONSE_ALLOWED_HEADERS; 108 extern const char *NCHAN_MSG_RESPONSE_ALLOWED_CUSTOM_ETAG_HEADERS_STRF; 109 extern const ngx_str_t NCHAN_CONTENT_TYPE_TEXT_PLAIN; 110 extern const ngx_str_t NCHAN_CHANNEL_INFO_PLAIN; 111 extern const ngx_str_t NCHAN_CHANNEL_INFO_JSON; 112 extern const ngx_str_t NCHAN_CHANNEL_INFO_XML; 113 extern const ngx_str_t NCHAN_CHANNEL_INFO_YAML; 114 115 #define NCHAN_REDIS_DEFAULT_URL "redis://127.0.0.1:6379" 116 117 #endif /* NCHAN_DEFS_H */ 118