/
RetryableEndpointGroup.kt
67 lines (57 loc) · 2.62 KB
/
RetryableEndpointGroup.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package com.pubnub.api.retry
/**
* Enum representing various retryable endpoint groups.
* Each enum constant denotes a specific category of operations
* that can be retried under certain conditions.
*/
enum class RetryableEndpointGroup {
/**
* Represents operation related to subscribing like [PubNub.subscribe]
*/
SUBSCRIBE,
/**
* Represents the group of operations related to publishing like [PubNub.publish], [PubNub.publishFileMessage], [PubNub.signal], [PubNub.fire]
*/
PUBLISH,
/**
* Represents the group of operations related to presence like [PubNub.getPresenceState], [PubNub.setPresenceState],
* [PubNub.hereNow], [PubNub.whereNow], [PubNub.presence] (Heartbeat), and Leave.
*/
PRESENCE,
/**
* Represents the group of operations related to file persistence like [PubNub.getFileUrl], [PubNub.deleteFile],
* [PubNub.listFiles], [PubNub.downloadFile], and [PubNub.sendFile].
*/
FILE_PERSISTENCE,
/**
* Represents the group of operations related to message persistence like [PubNub.fetchMessages],
* [PubNub.deleteMessages], [PubNub.messageCounts], and [PubNub.time].
*/
MESSAGE_PERSISTENCE,
/**
* Represents the group of operations on channel group like [PubNub.listAllChannelGroups], [PubNub.deleteChannelGroup],
* [PubNub.removeChannelsFromChannelGroup], [PubNub.listChannelsForChannelGroup], and [PubNub.addChannelsToChannelGroup]
*/
CHANNEL_GROUP,
/**
* Represents the group of operations related to push notification like [PubNub.removeAllPushNotificationsFromDeviceWithPushToken],
* [PubNub.addPushNotificationsOnChannels], [PubNub.auditPushChannelProvisions] and [PubNub.removePushNotificationsFromChannels]
*/
PUSH_NOTIFICATION,
/**
* Represents the group of operations related to application context like [PubNub.getAllUUIDMetadata], [PubNub.getUUIDMetadata],
* [PubNub.setUUIDMetadata], [PubNub.removeUUIDMetadata], [PubNub.getAllChannelMetadata], [PubNub.getChannelMetadata],
* [PubNub.removeChannelMetadata], [PubNub.setChannelMetadata], [PubNub.getChannelMembers], [PubNub.manageChannelMembers],
* [PubNub.getMemberships], and [PubNub.manageMemberships]
*/
APP_CONTEXT,
/**
* Represents the group of operations related to message reaction like [PubNub.addMessageAction],
* [PubNub.getMessageActions] and [PubNub.removeMessageAction]
*/
MESSAGE_REACTION,
/**
* Represents the group of operations related to access management like [PubNub.grant], [PubNub.grantToken], [PubNub.revokeToken]
*/
ACCESS_MANAGER,
}