# Toplevel Pubnub module. module Pubnub # Constants module holds all constants and default values. module Constants # Config constants DEFAULT_READ_TIMEOUT = 10 DEFAULT_OPEN_TIMEOUT = 10 DEFAULT_IDLE_TIMEOUT = 10 DEFAULT_S_READ_TIMEOUT = 310 DEFAULT_S_OPEN_TIMEOUT = 310 DEFAULT_S_IDLE_TIMEOUT = 310 DEFAULT_H_READ_TIMEOUT = 10 DEFAULT_H_OPEN_TIMEOUT = 10 DEFAULT_H_IDLE_TIMEOUT = 10 DEFAULT_RECONNECT_ATTEMPTS = 10 DEFAULT_RECONNECT_INTERVAL = 10 DEFAULT_ORIGIN = 'ps.pndsn.com'.freeze DEFAULT_PORT = 80 PERIODIC_TIMER_INTERVAL = 0.25 DEFAULT_TTL = 1440 DEFAULT_REGION = '0'.freeze DEFAULT_USE_RANDOM_IV = true DEFAULT_SSL = false REQUEST_MESSAGE_COUNT_THRESHOLD = 0 # Envelope values # Errors STATUS_ACCESS_DENIED = :access_denied STATUS_TIMEOUT = :timeout STATUS_NON_JSON_RESPONSE = :non_json_response STATUS_ERROR = :error SSL_ERROR = :ssl_error STATUS_API_KEY_ERROR = :api_key_error STATUS_REQUEST_MESSAGE_COUNT_EXCEEDED = :request_message_count_exceeded # Successes STATUS_ACK = :ack STATUS_CATEGORY_ERRORS = [STATUS_ACCESS_DENIED, STATUS_TIMEOUT, STATUS_NON_JSON_RESPONSE, STATUS_API_KEY_ERROR, SSL_ERROR].freeze STATUS_CATEGORY_SUCCESSES = [STATUS_ACK].freeze # Operations OPERATION_SUBSCRIBE = :subscribe OPERATION_PUBLISH = :publish OPERATION_HEARTBEAT = :heartbeat OPERATION_PRESENCE = :presence OPERATION_PRESENCE_LEAVE = :leave OPERATION_TIME = :time OPERATION_HISTORY = :history OPERATION_FETCH_MESSAGES = :fetch_messages OPERATION_FETCH_MESSAGES_WITH_ACTIONS = :fetch_messages_with_actions OPERATION_HERE_NOW = :here_now OPERATION_WHERE_NOW = :where_now OPERATION_GLOBAL_HERE_NOW = :global_here_now OPERATION_GET_STATE = :get_state OPERATION_SET_STATE = :set_state OPERATION_CHANNEL_GROUP_ADD = :channel_group_add OPERATION_CHANNEL_GROUP_REMOVE = :channel_group_remove OPERATION_AUDIT = :audit OPERATION_GRANT = :grant OPERATION_GRANT_TOKEN = :grant_token OPERATION_REVOKE_TOKEN = :revoke_token OPERATION_REVOKE = :revoke OPERATION_DELETE = :delete OPERATION_ADD_MESSAGE_ACTION = :add_message_action OPERATION_REMOVE_MESSAGE_ACTION = :remove_message_action OPERATION_GET_MESSAGE_ACTIONS = :get_message_actions OPERATION_LIST_ALL_CHANNEL_GROUPS = :list_all_channel_groups OPERATION_LIST_ALL_CHANNELS_IN_CHANNEL_GROUP = :list_all_channels_in_channel_group OPERATION_MESSAGE_COUNTS = :message_counts OPERATION_ADD_CHANNELS_TO_PUSH = :add_channels_to_push OPERATION_LIST_PUSH_PROVISIONS = :list_push_provisions OPERATION_REMOVE_CHANNELS_FROM_PUSH = :remove_channels_from_push OPERATION_REMOVE_DEVICE_FROM_PUSH = :remove_device_from_push OPERATION_SIGNAL = :signal OPERATION_SET_UUID_METADATA = :set_uuid_metadata OPERATION_GET_UUID_METADATA = :get_uuid_metadata OPERATION_GET_ALL_UUID_METADATA = :get_all_uuid_metadata OPERATION_REMOVE_UUID_METADATA = :remove_uuid_metadata OPERATION_SET_CHANNEL_METADATA = :set_channel_metadata OPERATION_GET_CHANNEL_METADATA = :get_channel_metadata OPERATION_GET_ALL_CHANNELS_METADATA = :get_all_channels_metadata OPERATION_REMOVE_CHANNEL_METADATA = :remove_channel_metadata OPERATION_GET_CHANNEL_MEMBERS = :get_channel_members OPERATION_SET_CHANNEL_MEMBERS = :set_channel_members OPERATION_REMOVE_CHANNEL_MEMBERS = :remove_channel_members OPERATION_GET_MEMBERSHIPS = :get_memberships OPERATION_SET_MEMBERSHIPS = :set_memberships OPERATION_REMOVE_MEMBERSHIPS = :remove_memberships OPERATIONS = [ OPERATION_SUBSCRIBE, OPERATION_HEARTBEAT, OPERATION_PRESENCE, OPERATION_TIME, OPERATION_HISTORY, OPERATION_FETCH_MESSAGES, OPERATION_FETCH_MESSAGES_WITH_ACTIONS, OPERATION_HERE_NOW, OPERATION_GLOBAL_HERE_NOW, OPERATION_GET_STATE, OPERATION_ADD_MESSAGE_ACTION, OPERATION_REMOVE_MESSAGE_ACTION, OPERATION_GET_MESSAGE_ACTIONS, OPERATION_LIST_ALL_CHANNEL_GROUPS, OPERATION_LIST_ALL_CHANNELS_IN_CHANNEL_GROUP, OPERATION_CHANNEL_GROUP_ADD, OPERATION_CHANNEL_GROUP_REMOVE, OPERATION_AUDIT, OPERATION_GRANT, OPERATION_GRANT_TOKEN, OPERATION_REVOKE, OPERATION_WHERE_NOW, OPERATION_MESSAGE_COUNTS, OPERATION_ADD_CHANNELS_TO_PUSH, OPERATION_LIST_PUSH_PROVISIONS, OPERATION_REMOVE_CHANNELS_FROM_PUSH, OPERATION_REMOVE_DEVICE_FROM_PUSH, OPERATION_SIGNAL, OPERATION_SET_UUID_METADATA, OPERATION_GET_UUID_METADATA, OPERATION_GET_ALL_UUID_METADATA, OPERATION_REMOVE_UUID_METADATA, OPERATION_SET_CHANNEL_METADATA, OPERATION_GET_CHANNEL_METADATA, OPERATION_GET_ALL_CHANNELS_METADATA, OPERATION_REMOVE_CHANNEL_METADATA, OPERATION_GET_CHANNEL_MEMBERS, OPERATION_SET_CHANNEL_MEMBERS, OPERATION_REMOVE_CHANNEL_MEMBERS, OPERATION_GET_MEMBERSHIPS, OPERATION_SET_MEMBERSHIPS, OPERATION_REMOVE_MEMBERSHIPS ].freeze # Announcements TIMEOUT_ANNOUNCEMENT = :disconnect RECONNECTED_ANNOUNCEMENT = :reconnected end end