Documentation
¶
Overview ¶
*
- Copyright 2022 Comcast Cable Communications Management, LLC *
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. *
- SPDX-License-Identifier: Apache-2.0
*
- Copyright 2022 Comcast Cable Communications Management, LLC *
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. *
- SPDX-License-Identifier: Apache-2.0
*
- Copyright 2022 Comcast Cable Communications Management, LLC *
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. *
- SPDX-License-Identifier: Apache-2.0
*
- Copyright 2022 Comcast Cable Communications Management, LLC *
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. *
- SPDX-License-Identifier: Apache-2.0
*
- Copyright 2022 Comcast Cable Communications Management, LLC *
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. *
- SPDX-License-Identifier: Apache-2.0
*
- Copyright 2022 Comcast Cable Communications Management, LLC *
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. *
- SPDX-License-Identifier: Apache-2.0
*
- Copyright 2022 Comcast Cable Communications Management, LLC *
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. *
- SPDX-License-Identifier: Apache-2.0
*
- Copyright 2022 Comcast Cable Communications Management, LLC *
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. *
- SPDX-License-Identifier: Apache-2.0
*
- Copyright 2022 Comcast Cable Communications Management, LLC *
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. *
- SPDX-License-Identifier: Apache-2.0
*
- Copyright 2022 Comcast Cable Communications Management, LLC *
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. *
- SPDX-License-Identifier: Apache-2.0
*
- Copyright 2022 Comcast Cable Communications Management, LLC *
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. *
- SPDX-License-Identifier: Apache-2.0
*
- Copyright 2022 Comcast Cable Communications Management, LLC *
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. *
- SPDX-License-Identifier: Apache-2.0
*
- Copyright 2022 Comcast Cable Communications Management, LLC *
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. *
- SPDX-License-Identifier: Apache-2.0
*
- Copyright 2022 Comcast Cable Communications Management, LLC *
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at *
- http://www.apache.org/licenses/LICENSE-2.0 *
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. *
- SPDX-License-Identifier: Apache-2.0
Index ¶
- Constants
- Variables
- func ConfigInjection(conf *configuration.Config)
- func GetColumnsStr(columns []string) string
- func GetGrpCacheLoadFunc() func(k cache.Key) (cache.Value, error)
- func GetSetColumnsStr(columns []string) string
- func GetValuesStr(length int) string
- func IsCassandraClient() bool
- func NewChangedDataInf() interface{}
- func RegisterTableConfig(tableInfo *TableInfo)
- func RegisterTableConfigSimple(tableName string, fn func() interface{})
- func SetDatabaseClient(c DatabaseClient)
- func SetGrpCacheLoadFunc(f func(k cache.Key) (cache.Value, error))
- type BatchOperation
- type BatchWrapper
- type CacheChangeNotifier
- type CacheInfo
- type CacheManager
- func (cm CacheManager) ApplicationCacheDelete(tableName string, key string)
- func (cm CacheManager) ApplicationCacheDeleteAll(tableName string)
- func (cm CacheManager) ApplicationCacheGet(tableName string, key string) interface{}
- func (cm CacheManager) ApplicationCacheInvalidateAll()
- func (cm CacheManager) ApplicationCacheSet(tableName string, key string, value interface{})
- func (cm CacheManager) DeleteGroupServiceFeatureTags(cacheKey string) error
- func (cm CacheManager) ForceSyncChanges()
- func (cm CacheManager) GetCacheStats(tableName string) (*CacheStats, error)
- func (cm CacheManager) GetChangedKeysTimeWindowSize() int32
- func (cm CacheManager) GetGroupServiceFeatureTags(cacheKey string) map[string]string
- func (cm CacheManager) GetStatistics() *Statistics
- func (cm CacheManager) Invalidate(tableName string, key string) error
- func (cm CacheManager) InvalidateAll(tableName string) error
- func (cm CacheManager) Refresh(tableName string) error
- func (cm CacheManager) RefreshAll() []string
- func (cm *CacheManager) SetCacheChangeNotifier(notifier CacheChangeNotifier)
- func (cm CacheManager) SetGroupServiceFeatureTags(cacheKey string, tags map[string]string) error
- func (cm CacheManager) SyncChanges(startTime time.Time, endTime time.Time, apply bool) (changedList []interface{}, err error)
- func (cm CacheManager) WriteCacheLog(tableName string, changedKey string, operation OperationType)
- type CacheRefreshTask
- type CacheSettings
- type CacheStats
- type CachedListingDao
- type CachedSimpleDao
- type CassandraClient
- func (c *CassandraClient) AcquireLock(lockName string, lockedBy string, ttl int) error
- func (c *CassandraClient) CheckFinalRecookingStatus(moduleName string) (bool, time.Time, error)
- func (c *CassandraClient) Close() error
- func (c *CassandraClient) DeleteAllXconfData(tableName string) error
- func (c *CassandraClient) DeleteXconfData(tableName string, rowKey string) error
- func (c *CassandraClient) DeleteXconfDataTwoKeys(tableName string, rowKey string, key2FieldName string, key2 interface{}) error
- func (c *CassandraClient) ExecuteBatch(batch BatchOperation) error
- func (c *CassandraClient) GetAllXconfCompressedDataAsMap(tableName string) map[string][]byte
- func (c *CassandraClient) GetAllXconfData(tableName string, rowKey string) [][]byte
- func (c *CassandraClient) GetAllXconfDataAsList(tableName string, maxResults int) [][]byte
- func (c *CassandraClient) GetAllXconfDataAsMap(tableName string, maxResults int) map[string][]byte
- func (c *CassandraClient) GetAllXconfDataByKeys(tableName string, rowKeys []string) [][]byte
- func (c *CassandraClient) GetAllXconfDataTwoKeysAsMap(tableName string, rowKey string, key2FieldName string, key2List []interface{}) map[interface{}][]byte
- func (c *CassandraClient) GetAllXconfDataTwoKeysRange(tableName string, rowKey interface{}, key2FieldName string, ...) [][]byte
- func (c *CassandraClient) GetAllXconfKey2s(tableName string, rowKey string, key2FieldName string) []interface{}
- func (c *CassandraClient) GetAllXconfKeys(tableName string) []string
- func (c *CassandraClient) GetAllXconfTwoKeys(tableName string, key2FieldName string) []TwoKeys
- func (c *CassandraClient) GetDeviceKeyspace() string
- func (c *CassandraClient) GetDevicePodTableName() string
- func (c *CassandraClient) GetEcmMacFromPodTable(serialNum string) (string, error)
- func (c *CassandraClient) GetEstbIp(estbMac string) (string, error)
- func (c *CassandraClient) GetFwPenetrationMetrics(estbMac string) (*FwPenetrationMetrics, error)
- func (c *CassandraClient) GetLocalDc() string
- func (c *CassandraClient) GetLockInfo(lockName string) (map[string]interface{}, error)
- func (c *CassandraClient) GetPenetrationMetrics(estbMac string) (map[string]interface{}, error)
- func (c *CassandraClient) GetPrecookDataFromXPC(RfcPrecookHash string) ([]byte, string, error)
- func (c *CassandraClient) GetRecookingStatus(moduleName string, partitionId string) (int, time.Time, error)
- func (c *CassandraClient) GetRecookingStatusDetails() ([]RecookingStatus, error)
- func (c *CassandraClient) GetRfcPenetrationMetrics(estbMac string) (*RfcPenetrationMetrics, error)
- func (c *CassandraClient) GetXconfCompressedData(tableName string, rowKey string) ([]byte, error)
- func (c *CassandraClient) GetXconfCompressedDataRaw(tableName string) map[string]map[string][]byte
- func (c *CassandraClient) GetXconfData(tableName string, rowKey string) ([]byte, error)
- func (c *CassandraClient) GetXconfDataTwoKeys(tableName string, rowKey string, key2FieldName string, key2 interface{}) ([]byte, error)
- func (c *CassandraClient) IsDbNotFound(err error) bool
- func (c *CassandraClient) IsTestOnly() bool
- func (c *CassandraClient) ModifyXconfData(query string, queryParameters ...string) error
- func (c *CassandraClient) NewBatch(batchType int) BatchOperation
- func (c *CassandraClient) QueryXconfDataRows(query string, queryParameters ...string) ([]map[string]interface{}, error)
- func (c *CassandraClient) ReleaseLock(lockName string, lockedBy string) error
- func (c *CassandraClient) SetFwPenetrationMetrics(pMetrics *FwPenetrationMetrics) error
- func (c *CassandraClient) SetPenetrationMetrics(pMetrics *PenetrationMetrics) error
- func (c *CassandraClient) SetPrecookDataInXPC(RfcPrecookHash string, RfcPrecookPayload []byte) error
- func (c *CassandraClient) SetRecookingStatus(moduleName string, partitionId string, state int) error
- func (c *CassandraClient) SetRfcPenetrationMetrics(pMetrics *RfcPenetrationMetrics, isReturn304FromPrecook bool) error
- func (c *CassandraClient) SetUp() error
- func (c *CassandraClient) SetXconfCompressedData(tableName string, rowKey string, values [][]byte, ttl int) error
- func (c *CassandraClient) SetXconfData(tableName string, rowKey string, value []byte, ttl int) error
- func (c *CassandraClient) SetXconfDataTwoKeys(tableName string, rowKey interface{}, key2FieldName string, key2 interface{}, ...) error
- func (c *CassandraClient) Sleep()
- func (c *CassandraClient) TearDown() error
- func (c *CassandraClient) UpdateFwPenetrationMetrics(kvmap map[string]string) error
- func (c *CassandraClient) XconfRecookingStatusTableName() string
- func (c *CassandraClient) XpcKeyspace() string
- func (c *CassandraClient) XpcPrecookTableName() string
- type CassandraConnector
- type ChangedData
- type CompressingDataDao
- type DatabaseClient
- type DefaultCassandraConnection
- type DistributedLock
- func (dl DistributedLock) Lock(owner string) (e error)
- func (dl DistributedLock) LockRow(owner string, rowKey string) (e error)
- func (dl DistributedLock) Name() string
- func (dl DistributedLock) Retries() int
- func (dl DistributedLock) RetryInMsecs() int
- func (dl *DistributedLock) SetRetries(retries int)
- func (dl *DistributedLock) SetRetryInMsecs(retryInMsecs int)
- func (dl *DistributedLock) SetTTL(secs int)
- func (dl DistributedLock) TTL() int
- func (dl DistributedLock) Unlock(owner string) (e error)
- func (dl DistributedLock) UnlockRow(owner string, rowKey string) (e error)
- type DistributedLockSettings
- type FwPenetrationMetrics
- type GroupServiceCacheDao
- type GroupServiceCacheDaoImpl
- type ListingDao
- type OperationType
- type PenetrationMetrics
- type RangeInfo
- type RecookingStatus
- type RfcPenetrationMetrics
- type SimpleDao
- type Statistics
- type TableInfo
- type TwoKeys
Constants ¶
const ( ProtocolVersion = 4 DefaultKeyspace = "ApplicationsDiscoveryDataService" DefaultTestKeyspace = "ApplicationsDiscoveryDataServiceTest" DefaultDeviceKeyspace = "odp" DefaultDeviceTestKeyspace = "odp_test_keyspace" DefaultDevicePodTableName = "pod_cpe_account" DisableInitialHostLookup = false DefaultSleepTimeInMillisecond = 10 DefaultConnections = 2 DefaultColumnValue = "data" NamedListPartColumnValue = "NamedListData_part_" NamedListCountColumnValue = "NamedListData_parts_count" DefaultXpcKeyspace = "xpc" DefaultXpcTestKeyspace = "xpc_test_keyspace" DefaultXpcPrecookTableName = "reference_document" DefaultXconfRecookingStatusTableName = "RecookingStatus" LockNameDelimiter = "|" )
const ( ColumnValuePrefix = "NamedListData" PartsCountColumnValue = ColumnValuePrefix + "_parts_count" CompressionChunkSize = (64 * 1024) // In bytes )
const ( LoggedBatch = iota UnloggedBatch CounterBatch )
Batch types constants
const ( EcmMacColumnName = "cpe_mac" PodSerialColumnName = "pod_id" )
const ( PenetrationMetricsTable = "PenetrationMetrics" EstbMacColumnValue = "estb_mac" EcmMacColumnValue = "ecm_mac" SerialNumberColumnValue = "serial_number" PartnerColumnValue = "partner" ModelColumnValue = "model" FwFilenameColumnValue = "fw_filename" FwVersionColumnValue = "fw_version" FwReportedVersionColumnValue = "fw_reported_version" FwAdditionalVersionInfoColumnValue = "fw_additional_version_info" FwAppliedRuleColumnValue = "fw_applied_rule" FwTsColumnValue = "fw_ts" ClientCertExpiryValue = "client_cert_expiry" RecoveryCertExpiryValue = "recovery_cert_expiry" RfcAppliedRulesColumnValue = "rfc_applied_rules" RfcAccountMgmtColumnValue = "rfc_account_mgmt" RfcFeaturesColumnValue = "rfc_features" RfcPartnerColumnValue = "rfc_partner" TitanPartnerColumnValue = "titan_partner" RfcModelColumnValue = "rfc_model" RfcFwReportedVersionColumnValue = "rfc_fw_reported_version" RfcAccountHashColumnValue = "rfc_account_hash" RfcAccountIdColumnValue = "rfc_account_id" TitanAccountIdColumnValue = "titan_account_id" RfcEnvColumnValue = "rfc_env" RfcApplicationTypeColumnValue = "rfc_application_type" RfcExperienceColumnValue = "rfc_experience" RfcTimeZoneColumnValue = "rfc_time_zone" RfcConfigsetHashColumnValue = "rfc_configsethash" RfcQueryParamsColumnValue = "rfc_query_params" RfcTagsColumnValue = "rfc_tags" RfcEstbIpColumnValue = "rfc_estb_ip" RfcTsColumnValue = "rfc_ts" RfcPostProcColumnValue = "rfc_post_proc" )
const ( XcrpModuleNameColumnName = "module" XcrpPartionIdColumnName = "partition_id" XcrpStateColumnName = "state" XcrpUpdatedTimeColumnName = "updated_time" XcrpRecookingStatusTableName = "RecookingStatus" XcrpAppNameColumnName = "app_name" )
const ( PrecookInitialized = iota PrecookPending PrecookComplete )
const ( // LogUpload TABLE_DCM_RULE = "DcmRule" TABLE_UPLOAD_REPOSITORY = "UploadRepository" TABLE_LOG_UPLOAD_SETTINGS = "LogUploadSettings2" TABLE_LOG_FILE = "LogFile" TABLE_LOG_FILE_LIST = "LogFileList" TABLE_INDEXED_LOG_FILES = "IndexedLogFiles" TABLE_LOG_FILES_GROUPS = "LogFilesGroups" TABLE_DEVICE_SETTINGS = "DeviceSettings2" TABLE_VOD_SETTINGS = "VodSettings2" // Setting TABLE_SETTING_PROFILES = "SettingProfiles" TABLE_SETTING_RULES = "SettingRules" // Telemetry TABLE_TELEMETRY = "Telemetry" TABLE_TELEMETRY_RULES = "TelemetryRules" TABLE_TELEMETRY_TWO_RULES = "TelemetryTwoRules" TABLE_TELEMETRY_TWO_PROFILES = "TelemetryTwoProfiles" TABLE_PERMANENT_TELEMETRY = "PermanentTelemetry" // Firmware TABLE_FIRMWARE_RULE = "FirmwareRule4" TABLE_FIRMWARE_RULE_TEMPLATE = "FirmwareRuleTemplate" TABLE_FIRMWARE_CONFIG = "FirmwareConfig" TABLE_SINGLETON_FILTER_VALUE = "SingletonFilterValue" // RFC TABLE_FEATURE_CONTROL_RULE = "FeatureControlRule2" TABLE_XCONF_FEATURE = "XconfFeature" // Change TABLE_XCONF_CHANGE = "XconfChange" TABLE_XCONF_APPROVED_CHANGE = "XconfApprovedChange" TABLE_XCONF_TELEMETRY_TWO_CHANGE = "XconfTelemetryTwoChange" TABLE_XCONF_APPROVED_TELEMETRY_TWO_CHANGE = "XconfApprovedTelemetryTwoChange" // Common TABLE_ENVIRONMENT = "Environment" TABLE_MODEL = "Model" TABLE_IP_ADDRESS_GROUP = "IpAddressGroupExtended" TABLE_NS_LIST = "XconfNamedList" TABLE_GENERIC_NS_LIST = "GenericXconfNamedList" TABLE_LOGS = "Logs2" TABLE_XCONF_CHANGED_KEYS = "XconfChangedKeys4" TABLE_APP_SETTINGS = "AppSettings" TABLE_TAG = "Tag" TABLE_LOCKS = "Locks" )
const ( DefaultKey2FieldName = "column1" ChangedKeysKey2FieldName = "columnName" )
Two possible values for Key2FieldName
const ( RfcPrecookHashColumnName = "ref_id" RfcPrecookPayloadColumnName = "payload" VersionColumnName = "version" )
const TwowKeysDelimiter = "::"
TwoKeys Xconf key values
Variables ¶
var AllTables = []string{ TABLE_DCM_RULE, TABLE_UPLOAD_REPOSITORY, TABLE_LOG_UPLOAD_SETTINGS, TABLE_LOG_FILE, TABLE_LOG_FILE_LIST, TABLE_INDEXED_LOG_FILES, TABLE_LOG_FILES_GROUPS, TABLE_DEVICE_SETTINGS, TABLE_VOD_SETTINGS, TABLE_SETTING_PROFILES, TABLE_SETTING_RULES, TABLE_TELEMETRY, TABLE_TELEMETRY_RULES, TABLE_TELEMETRY_TWO_RULES, TABLE_TELEMETRY_TWO_PROFILES, TABLE_PERMANENT_TELEMETRY, TABLE_FIRMWARE_RULE, TABLE_FIRMWARE_RULE_TEMPLATE, TABLE_FIRMWARE_CONFIG, TABLE_SINGLETON_FILTER_VALUE, TABLE_FEATURE_CONTROL_RULE, TABLE_XCONF_FEATURE, TABLE_XCONF_CHANGE, TABLE_XCONF_APPROVED_CHANGE, TABLE_XCONF_TELEMETRY_TWO_CHANGE, TABLE_XCONF_APPROVED_TELEMETRY_TWO_CHANGE, TABLE_ENVIRONMENT, TABLE_MODEL, TABLE_IP_ADDRESS_GROUP, TABLE_NS_LIST, TABLE_GENERIC_NS_LIST, TABLE_LOGS, TABLE_XCONF_CHANGED_KEYS, TABLE_TAG, }
var (
Conf *configuration.Config
)
Functions ¶
func ConfigInjection ¶
func ConfigInjection(conf *configuration.Config)
ConfigInjection - dependency injection
func GetColumnsStr ¶
func GetSetColumnsStr ¶
func GetValuesStr ¶
func IsCassandraClient ¶
func IsCassandraClient() bool
func NewChangedDataInf ¶
func NewChangedDataInf() interface{}
func RegisterTableConfig ¶
func RegisterTableConfig(tableInfo *TableInfo)
* RegisterTableConfig registers information related to the table name, * i.e. constructor function, compression policy, and TTL for data.
func RegisterTableConfigSimple ¶
func RegisterTableConfigSimple(tableName string, fn func() interface{})
* RegisterTableConfigSimple registers constructor function for a table.
func SetDatabaseClient ¶
func SetDatabaseClient(c DatabaseClient)
Types ¶
type BatchOperation ¶ added in v1.0.12
BatchOperation interface for database batch operations
type BatchWrapper ¶ added in v1.0.12
BatchWrapper wraps gocql.Batch to implement BatchOperation interface
func (*BatchWrapper) Query ¶ added in v1.0.12
func (bw *BatchWrapper) Query(stmt string, args ...interface{})
func (*BatchWrapper) Size ¶ added in v1.0.12
func (bw *BatchWrapper) Size() int
type CacheChangeNotifier ¶ added in v1.0.15
type CacheChangeNotifier interface {
Notify(tableName string, changedKey string, operation OperationType)
}
CacheChangeNotifier is an interface for notifications on cache changed events
type CacheInfo ¶
type CacheInfo struct {
Stats *CacheStats
// contains filtered or unexported fields
}
type CacheManager ¶
type CacheManager struct {
// contains filtered or unexported fields
}
CacheManager a cache manager
func GetCacheManager ¶
func GetCacheManager() *CacheManager
GetCacheManager Initializes a CacheManager
func (CacheManager) ApplicationCacheDelete ¶
func (cm CacheManager) ApplicationCacheDelete(tableName string, key string)
Delete an entry from the application cache
func (CacheManager) ApplicationCacheDeleteAll ¶
func (cm CacheManager) ApplicationCacheDeleteAll(tableName string)
Delete all entries for the given table
func (CacheManager) ApplicationCacheGet ¶
func (cm CacheManager) ApplicationCacheGet(tableName string, key string) interface{}
ApplicationCacheGet value for the specified table and key
func (CacheManager) ApplicationCacheInvalidateAll ¶
func (cm CacheManager) ApplicationCacheInvalidateAll()
Delete all entries
func (CacheManager) ApplicationCacheSet ¶
func (cm CacheManager) ApplicationCacheSet(tableName string, key string, value interface{})
Set value for the specified table and key
func (CacheManager) DeleteGroupServiceFeatureTags ¶
func (cm CacheManager) DeleteGroupServiceFeatureTags(cacheKey string) error
func (CacheManager) ForceSyncChanges ¶
func (cm CacheManager) ForceSyncChanges()
func (CacheManager) GetCacheStats ¶
func (cm CacheManager) GetCacheStats(tableName string) (*CacheStats, error)
func (CacheManager) GetChangedKeysTimeWindowSize ¶
func (cm CacheManager) GetChangedKeysTimeWindowSize() int32
func (CacheManager) GetGroupServiceFeatureTags ¶
func (cm CacheManager) GetGroupServiceFeatureTags(cacheKey string) map[string]string
func (CacheManager) GetStatistics ¶
func (cm CacheManager) GetStatistics() *Statistics
GetStatistics returns cache statistics
func (CacheManager) Invalidate ¶ added in v1.0.15
func (cm CacheManager) Invalidate(tableName string, key string) error
Invalidate Evict an entry from cache
func (CacheManager) InvalidateAll ¶ added in v1.0.15
func (cm CacheManager) InvalidateAll(tableName string) error
InvalidateAll Evict all entries from cache
func (CacheManager) Refresh ¶
func (cm CacheManager) Refresh(tableName string) error
Refresh Refresh cache for the specified table
func (CacheManager) RefreshAll ¶
func (cm CacheManager) RefreshAll() []string
RefreshAll Refresh all caches and return list of table names which were not refreshed
func (*CacheManager) SetCacheChangeNotifier ¶ added in v1.0.15
func (cm *CacheManager) SetCacheChangeNotifier(notifier CacheChangeNotifier)
SetCacheChangeNotifier sets a notifier to be called on cache changed events
func (CacheManager) SetGroupServiceFeatureTags ¶
func (cm CacheManager) SetGroupServiceFeatureTags(cacheKey string, tags map[string]string) error
func (CacheManager) SyncChanges ¶
func (cm CacheManager) SyncChanges(startTime time.Time, endTime time.Time, apply bool) (changedList []interface{}, err error)
SyncChanges Updates changes for given time-window defined by start (lower bound, inclusive) and end (upper bound, exclusive)
func (CacheManager) WriteCacheLog ¶
func (cm CacheManager) WriteCacheLog(tableName string, changedKey string, operation OperationType)
Write changed data to XconfChangedKeys4 table asynchronously
type CacheRefreshTask ¶
type CacheRefreshTask struct {
// contains filtered or unexported fields
}
CacheRefreshTask background task to refresh cache
func (*CacheRefreshTask) Run ¶
func (t *CacheRefreshTask) Run()
func (*CacheRefreshTask) Stop ¶
func (t *CacheRefreshTask) Stop()
type CacheSettings ¶
type CacheSettings struct {
// contains filtered or unexported fields
}
CacheSettings settings for the cache
type CacheStats ¶
type CacheStats struct {
DaoRefreshTime time.Time `json:"daoRefreshTime"`
CacheSize int `json:"cacheSize"`
RequestCount uint64 `json:"requestCount"`
NonAbsentCount int `json:"nonAbsentCount"`
EvictionCount uint64 `json:"evictionCount"`
HitRate float64 `json:"hitRate"`
MissRate float64 `json:"missRate"`
TotalLoadTime time.Duration `json:"totalLoadTime"`
}
CacheStats statistics for the cache.LoadingCache
type CachedListingDao ¶
type CachedListingDao interface {
GetOne(tableName string, rowKey string, key2 interface{}) (interface{}, error)
SetOne(tableName string, rowKey string, key2 interface{}, entity interface{}) error
DeleteOne(tableName string, rowKey string, key2 interface{}) error
DeleteAll(tableName string, rowKey string) error
GetAll(tableName string, rowKey string) ([]interface{}, error)
GetAllAsMap(tableName string, rowKey string, key2List []interface{}) (map[interface{}]interface{}, error)
GetKeys(tableName string) ([]TwoKeys, error)
GetKey2AsList(tableName string, rowKey string) ([]interface{}, error)
}
CachedListingDao interface for ListingDao
func GetCachedListingDao ¶
func GetCachedListingDao() CachedListingDao
GetCachedListingDao returns CachedListingDao
type CachedSimpleDao ¶
type CachedSimpleDao interface {
GetOne(tableName string, rowKey string) (interface{}, error)
GetOneFromCacheOnly(tableName string, rowKey string) (interface{}, error)
SetOne(tableName string, rowKey string, entity interface{}) error
DeleteOne(tableName string, rowKey string) error
GetAllByKeys(tableName string, rowKeys []string) ([]interface{}, error)
GetAllAsList(tableName string, maxResults int) ([]interface{}, error)
GetAllAsMap(tableName string) (map[interface{}]interface{}, error)
GetKeys(tableName string) ([]interface{}, error)
RefreshAll(tableName string) error
RefreshOne(tableName string, rowKey string) error
}
CachedSimpleDao interface for SimpleDao and CompressingDataDao
func GetCachedSimpleDao ¶
func GetCachedSimpleDao() CachedSimpleDao
GetCachedSimpleDao returns CachedSimpleDao
type CassandraClient ¶
type CassandraClient struct {
*gocql.Session
*gocql.ClusterConfig
SleepTime int32
ConcurrentQueries chan bool
LocalDc string
DeviceKeyspace string
DevicePodTableName string
TestOnly bool
Connection_type string
// contains filtered or unexported fields
}
func (*CassandraClient) AcquireLock ¶ added in v1.0.10
func (c *CassandraClient) AcquireLock(lockName string, lockedBy string, ttl int) error
func (*CassandraClient) CheckFinalRecookingStatus ¶
func (*CassandraClient) Close ¶
func (c *CassandraClient) Close() error
func (*CassandraClient) DeleteAllXconfData ¶
func (c *CassandraClient) DeleteAllXconfData(tableName string) error
DeleteAllXconfData Delete all XconfData
func (*CassandraClient) DeleteXconfData ¶
func (c *CassandraClient) DeleteXconfData(tableName string, rowKey string) error
DeleteXconfData Delete XconfData for the specified key
func (*CassandraClient) DeleteXconfDataTwoKeys ¶
func (c *CassandraClient) DeleteXconfDataTwoKeys(tableName string, rowKey string, key2FieldName string, key2 interface{}) error
DeleteXconfDataTwoKeys Delete XconfData for the specified two keys
func (*CassandraClient) ExecuteBatch ¶ added in v1.0.12
func (c *CassandraClient) ExecuteBatch(batch BatchOperation) error
ExecuteBatch executes a batch operation
func (*CassandraClient) GetAllXconfCompressedDataAsMap ¶
func (c *CassandraClient) GetAllXconfCompressedDataAsMap(tableName string) map[string][]byte
GetAllXconfCompressedDataAsMap Get all rows as a map of key to value, where value is compressed JSON data
func (*CassandraClient) GetAllXconfData ¶
func (c *CassandraClient) GetAllXconfData(tableName string, rowKey string) [][]byte
GetAllXconfData Get multiple rows as a list of values, where value is JSON data
func (*CassandraClient) GetAllXconfDataAsList ¶
func (c *CassandraClient) GetAllXconfDataAsList(tableName string, maxResults int) [][]byte
GetAllXconfDataAsList Get all rows as a list of values, where value is JSON data
func (*CassandraClient) GetAllXconfDataAsMap ¶
func (c *CassandraClient) GetAllXconfDataAsMap(tableName string, maxResults int) map[string][]byte
GetAllXconfDataAsMap Get all rows as a map of key to value, where value is JSON data
func (*CassandraClient) GetAllXconfDataByKeys ¶
func (c *CassandraClient) GetAllXconfDataByKeys(tableName string, rowKeys []string) [][]byte
GetAllXconfDataByKeys Get all rows as a list of values for the specified keys, where value is JSON data
func (*CassandraClient) GetAllXconfDataTwoKeysAsMap ¶
func (c *CassandraClient) GetAllXconfDataTwoKeysAsMap(tableName string, rowKey string, key2FieldName string, key2List []interface{}) map[interface{}][]byte
GetAllXconfDataTwoKeysAsMap Get multiple rows for the specified key and key2 list as map of values, where value is JSON data
func (*CassandraClient) GetAllXconfDataTwoKeysRange ¶
func (c *CassandraClient) GetAllXconfDataTwoKeysRange(tableName string, rowKey interface{}, key2FieldName string, rangeInfo *RangeInfo) [][]byte
GetAllXconfDataTwoKeysRange Get multiple rows for the specified key and key2 range as list of values, where value is JSON data
func (*CassandraClient) GetAllXconfKey2s ¶
func (c *CassandraClient) GetAllXconfKey2s(tableName string, rowKey string, key2FieldName string) []interface{}
GetAllXconfKey2s Get a list of Xconf key2 for the specified rowKey
func (*CassandraClient) GetAllXconfKeys ¶
func (c *CassandraClient) GetAllXconfKeys(tableName string) []string
GetAllXconfKeys Get all keys
func (*CassandraClient) GetAllXconfTwoKeys ¶
func (c *CassandraClient) GetAllXconfTwoKeys(tableName string, key2FieldName string) []TwoKeys
GetAllXconfTwoKeys Get all TwoKeys
func (*CassandraClient) GetDeviceKeyspace ¶
func (c *CassandraClient) GetDeviceKeyspace() string
func (*CassandraClient) GetDevicePodTableName ¶
func (c *CassandraClient) GetDevicePodTableName() string
func (*CassandraClient) GetEcmMacFromPodTable ¶
func (c *CassandraClient) GetEcmMacFromPodTable(serialNum string) (string, error)
GetEcmMacFromPodTable Get ecmMacAdress from table cpe_mac using pod serialNum
func (*CassandraClient) GetEstbIp ¶
func (c *CassandraClient) GetEstbIp(estbMac string) (string, error)
func (*CassandraClient) GetFwPenetrationMetrics ¶
func (c *CassandraClient) GetFwPenetrationMetrics(estbMac string) (*FwPenetrationMetrics, error)
func (*CassandraClient) GetLocalDc ¶
func (c *CassandraClient) GetLocalDc() string
func (*CassandraClient) GetLockInfo ¶ added in v1.0.10
func (c *CassandraClient) GetLockInfo(lockName string) (map[string]interface{}, error)
func (*CassandraClient) GetPenetrationMetrics ¶
func (c *CassandraClient) GetPenetrationMetrics(estbMac string) (map[string]interface{}, error)
func (*CassandraClient) GetPrecookDataFromXPC ¶
func (c *CassandraClient) GetPrecookDataFromXPC(RfcPrecookHash string) ([]byte, string, error)
GetPrecookDataFromXPC Get Precook data from XPC
func (*CassandraClient) GetRecookingStatus ¶
func (*CassandraClient) GetRecookingStatusDetails ¶
func (c *CassandraClient) GetRecookingStatusDetails() ([]RecookingStatus, error)
func (*CassandraClient) GetRfcPenetrationMetrics ¶
func (c *CassandraClient) GetRfcPenetrationMetrics(estbMac string) (*RfcPenetrationMetrics, error)
func (*CassandraClient) GetXconfCompressedData ¶
func (c *CassandraClient) GetXconfCompressedData(tableName string, rowKey string) ([]byte, error)
GetXconfCompressedData Get one row where return value is compressed JSON data
func (*CassandraClient) GetXconfCompressedDataRaw ¶
func (c *CassandraClient) GetXconfCompressedDataRaw(tableName string) map[string]map[string][]byte
GetXconfCompressedDataRaw Get all rows as a map of key to another map, where key specifies part number and value is compressed JSON data chunk.
Sample data for one record in GenericXconfNamedList table:
key | column1 | value -------------------+---------------------------+----------------------------- Test_Mac_List | NamedListData_part_0 | 0x7df05a7b226964223a2241... Test_Mac_List | NamedListData_part_1 | 0x60f05f7b226964223a2231... Test_Mac_List | NamedListData_parts_count | 0x00000002
func (*CassandraClient) GetXconfData ¶
func (c *CassandraClient) GetXconfData(tableName string, rowKey string) ([]byte, error)
GetXconfData Get one row where return value is JSON data
func (*CassandraClient) GetXconfDataTwoKeys ¶
func (c *CassandraClient) GetXconfDataTwoKeys(tableName string, rowKey string, key2FieldName string, key2 interface{}) ([]byte, error)
GetXconfDataTwoKeys Get one row where return value is JSON data
func (*CassandraClient) IsDbNotFound ¶
func (c *CassandraClient) IsDbNotFound(err error) bool
func (*CassandraClient) IsTestOnly ¶
func (c *CassandraClient) IsTestOnly() bool
func (*CassandraClient) ModifyXconfData ¶ added in v1.0.12
func (c *CassandraClient) ModifyXconfData(query string, queryParameters ...string) error
func (*CassandraClient) NewBatch ¶ added in v1.0.12
func (c *CassandraClient) NewBatch(batchType int) BatchOperation
NewBatch creates a new batch operation
func (*CassandraClient) QueryXconfDataRows ¶ added in v1.0.12
func (c *CassandraClient) QueryXconfDataRows(query string, queryParameters ...string) ([]map[string]interface{}, error)
func (*CassandraClient) ReleaseLock ¶ added in v1.0.10
func (c *CassandraClient) ReleaseLock(lockName string, lockedBy string) error
func (*CassandraClient) SetFwPenetrationMetrics ¶
func (c *CassandraClient) SetFwPenetrationMetrics(pMetrics *FwPenetrationMetrics) error
func (*CassandraClient) SetPenetrationMetrics ¶
func (c *CassandraClient) SetPenetrationMetrics(pMetrics *PenetrationMetrics) error
func (*CassandraClient) SetPrecookDataInXPC ¶
func (c *CassandraClient) SetPrecookDataInXPC(RfcPrecookHash string, RfcPrecookPayload []byte) error
setPrecookDataInXPC Set Precook data in XPC
func (*CassandraClient) SetRecookingStatus ¶
func (c *CassandraClient) SetRecookingStatus(moduleName string, partitionId string, state int) error
func (*CassandraClient) SetRfcPenetrationMetrics ¶
func (c *CassandraClient) SetRfcPenetrationMetrics(pMetrics *RfcPenetrationMetrics, isReturn304FromPrecook bool) error
func (*CassandraClient) SetUp ¶
func (c *CassandraClient) SetUp() error
func (*CassandraClient) SetXconfCompressedData ¶
func (c *CassandraClient) SetXconfCompressedData(tableName string, rowKey string, values [][]byte, ttl int) error
SetXconfCompressedData Create XconfData for the specified key and values, where values is compressed JSON data
func (*CassandraClient) SetXconfData ¶
func (c *CassandraClient) SetXconfData(tableName string, rowKey string, value []byte, ttl int) error
SetXconfData Create XconfData for the specified key and value, where value is JSON data
func (*CassandraClient) SetXconfDataTwoKeys ¶
func (c *CassandraClient) SetXconfDataTwoKeys(tableName string, rowKey interface{}, key2FieldName string, key2 interface{}, value []byte, ttl int) error
SetXconfDataTwoKeys Create XconfData for the specified two keys and value, where value is JSON data
func (*CassandraClient) Sleep ¶
func (c *CassandraClient) Sleep()
func (*CassandraClient) TearDown ¶
func (c *CassandraClient) TearDown() error
func (*CassandraClient) UpdateFwPenetrationMetrics ¶
func (c *CassandraClient) UpdateFwPenetrationMetrics(kvmap map[string]string) error
func (*CassandraClient) XconfRecookingStatusTableName ¶
func (c *CassandraClient) XconfRecookingStatusTableName() string
func (*CassandraClient) XpcKeyspace ¶
func (c *CassandraClient) XpcKeyspace() string
func (*CassandraClient) XpcPrecookTableName ¶
func (c *CassandraClient) XpcPrecookTableName() string
type CassandraConnector ¶
type CassandraConnector interface {
NewCassandraClient(conf *configuration.Config, testOnly bool) (*CassandraClient, error)
}
Interface used for connecting to Cassandra in a cloud environment
type ChangedData ¶
type ChangedData struct {
ColumnName gocql.UUID `json:"columnName"`
CfName string `json:"cfName"`
ChangedKey string `json:"changedKey"`
Operation OperationType `json:"operation"`
DaoId int32 `json:"DAOid"`
ValidCacheSize int32 `json:"validCacheSize"`
UserName string `json:"userName"`
ServerOriginId string `json:"serverOriginId"`
}
ChangedData XconfChangedKeys4 table
type CompressingDataDao ¶
type CompressingDataDao interface {
GetOne(tableName string, rowKey string) (interface{}, error)
SetOne(tableName string, rowKey string, value []byte) error
DeleteOne(tableName string, rowKey string) error
GetAllByKeys(tableName string, rowKeys []string) ([]interface{}, error)
GetAllAsList(tableName string, continueOnError bool) ([]interface{}, error)
GetAllAsMap(tableName string, continueOnError bool) (map[string]interface{}, error)
GetKeys(tableName string) []string
}
CompressingDataDao interface
func GetCompressingDataDao ¶
func GetCompressingDataDao() CompressingDataDao
GetCompressingDataDao return an implementation of CompressingDataDao
type DatabaseClient ¶
type DatabaseClient interface {
SetUp() error
TearDown() error
Close() error
Sleep()
// Xconf
QueryXconfDataRows(query string, queryParams ...string) ([]map[string]interface{}, error)
ModifyXconfData(query string, queryParameters ...string) error
// Batch operations
NewBatch(batchType int) BatchOperation
ExecuteBatch(batch BatchOperation) error
SetXconfData(tableName string, rowKey string, value []byte, ttl int) error
GetXconfData(tableName string, rowKey string) ([]byte, error)
GetAllXconfDataByKeys(tableName string, rowKeys []string) [][]byte
GetAllXconfKeys(tableName string) []string
GetAllXconfDataAsList(tableName string, maxResults int) [][]byte
GetAllXconfDataAsMap(tableName string, maxResults int) map[string][]byte
DeleteXconfData(tableName string, rowKey string) error
DeleteAllXconfData(tableName string) error
// Xconf TwoKeys
GetAllXconfData(tableName string, rowKey string) [][]byte
GetAllXconfDataTwoKeysRange(tableName string, rowKey interface{}, key2FieldName string, rangeInfo *RangeInfo) [][]byte
GetAllXconfDataTwoKeysAsMap(tableName string, rowKey string, key2FieldName string, key2List []interface{}) map[interface{}][]byte
SetXconfDataTwoKeys(tableName string, rowKey interface{}, key2FieldName string, key2 interface{}, value []byte, ttl int) error
GetXconfDataTwoKeys(tableName string, rowKey string, key2FieldName string, key2 interface{}) ([]byte, error)
DeleteXconfDataTwoKeys(tableName string, rowKey string, key2FieldName string, key2 interface{}) error
GetAllXconfTwoKeys(tableName string, key2FieldName string) []TwoKeys
GetAllXconfKey2s(tableName string, rowKey string, key2FieldName string) []interface{}
// Xconf compressed data
SetXconfCompressedData(tableName string, rowKey string, values [][]byte, ttl int) error
GetXconfCompressedData(tableName string, rowKey string) ([]byte, error)
GetAllXconfCompressedDataAsMap(tableName string) map[string][]byte
// Pod table lookup estbMac from pod serialNum
GetEcmMacFromPodTable(string) (string, error)
// not found
IsDbNotFound(error) bool
// Penetration Metrics
GetPenetrationMetrics(macAddress string) (map[string]interface{}, error)
SetPenetrationMetrics(penetrationmetrics *PenetrationMetrics) error
SetFwPenetrationMetrics(*FwPenetrationMetrics) error
GetFwPenetrationMetrics(string) (*FwPenetrationMetrics, error)
SetRfcPenetrationMetrics(pMetrics *RfcPenetrationMetrics, is304FromPrecook bool) error
GetRfcPenetrationMetrics(string) (*RfcPenetrationMetrics, error)
UpdateFwPenetrationMetrics(map[string]string) error
GetEstbIp(string) (string, error)
SetRecookingStatus(module string, partitionId string, state int) error
GetRecookingStatus(module string, partitionId string) (int, time.Time, error)
CheckFinalRecookingStatus(module string) (bool, time.Time, error)
// XPC precook reference data
SetPrecookDataInXPC(RfcPrecookHash string, RfcPrecookPayload []byte) error
GetPrecookDataFromXPC(RfcPrecookHash string) ([]byte, string, error)
// Locks
AcquireLock(lockName string, lockedBy string, ttlSeconds int) error
ReleaseLock(lockName string, lockedBy string) error
GetLockInfo(lockName string) (map[string]interface{}, error)
}
func GetDatabaseClient ¶
func GetDatabaseClient() DatabaseClient
type DefaultCassandraConnection ¶
type DefaultCassandraConnection struct {
Connection_type string
}
example Default connector
func (*DefaultCassandraConnection) NewCassandraClient ¶
func (ca *DefaultCassandraConnection) NewCassandraClient(conf *configuration.Config, testOnly bool) (*CassandraClient, error)
type DistributedLock ¶ added in v1.0.10
type DistributedLock struct {
DistributedLockSettings
// contains filtered or unexported fields
}
func NewDistributedLock ¶ added in v1.0.10
func NewDistributedLock(name string, ttl int) *DistributedLock
func (DistributedLock) Lock ¶ added in v1.0.10
func (dl DistributedLock) Lock(owner string) (e error)
func (DistributedLock) LockRow ¶ added in v1.0.10
func (dl DistributedLock) LockRow(owner string, rowKey string) (e error)
LockRow locks a specific row in the table identified by rowKey. The lock name is constructed as "<tableName>|<rowKey>". This allows for row-level locking within the same table using the existing locking mechanism. For a given resource either resource-level or sub-resource-level locks can be used, but not both.
func (DistributedLock) Name ¶ added in v1.0.10
func (dl DistributedLock) Name() string
func (DistributedLock) Retries ¶ added in v1.0.10
func (dl DistributedLock) Retries() int
func (DistributedLock) RetryInMsecs ¶ added in v1.0.10
func (dl DistributedLock) RetryInMsecs() int
func (*DistributedLock) SetRetries ¶ added in v1.0.10
func (dl *DistributedLock) SetRetries(retries int)
func (*DistributedLock) SetRetryInMsecs ¶ added in v1.0.10
func (dl *DistributedLock) SetRetryInMsecs(retryInMsecs int)
func (*DistributedLock) SetTTL ¶ added in v1.0.10
func (dl *DistributedLock) SetTTL(secs int)
func (DistributedLock) TTL ¶ added in v1.0.10
func (dl DistributedLock) TTL() int
func (DistributedLock) Unlock ¶ added in v1.0.10
func (dl DistributedLock) Unlock(owner string) (e error)
type DistributedLockSettings ¶ added in v1.0.10
type DistributedLockSettings struct {
// contains filtered or unexported fields
}
type FwPenetrationMetrics ¶
type FwPenetrationMetrics struct {
EstbMac string
Partner string
Model string
FwFilename string
FwVersion string
FwReportedVersion string
FwAdditionalVersionInfo string
FwAppliedRule string
FwTs int64
ClientCertExpiry string
RecoveryCertExpiry string
}
PenetrationMetrics struct
type GroupServiceCacheDao ¶
type GroupServiceCacheDao interface {
GetGroupServiceFeatureTags(cacheKey string) map[string]string
SetGroupServiceFeatureTags(cacheKey string, tags map[string]string) error
DeleteGroupServiceFeatureTags(cacheKey string) error
}
XdasCacheDao interface for XDAS cache operations
func GetGroupServiceCacheDao ¶
func GetGroupServiceCacheDao() GroupServiceCacheDao
GetGroupServiceCacheDao returns GroupServiceCacheDao
type GroupServiceCacheDaoImpl ¶
type GroupServiceCacheDaoImpl struct{}
func (GroupServiceCacheDaoImpl) DeleteGroupServiceFeatureTags ¶
func (dao GroupServiceCacheDaoImpl) DeleteGroupServiceFeatureTags(cacheKey string) error
DeleteGroupServiceFeatureTags removes GroupService feature tags from the cache
func (GroupServiceCacheDaoImpl) GetGroupServiceFeatureTags ¶
func (dao GroupServiceCacheDaoImpl) GetGroupServiceFeatureTags(cacheKey string) map[string]string
GetGroupServiceFeatureTags retrieves GroupService feature tags from the cache
func (GroupServiceCacheDaoImpl) SetGroupServiceFeatureTags ¶
func (dao GroupServiceCacheDaoImpl) SetGroupServiceFeatureTags(cacheKey string, tags map[string]string) error
SetGroupServiceFeatureTags stores GroupService feature tags in the cache
type ListingDao ¶
type ListingDao interface {
GetOne(tableName string, rowKey string, key2 interface{}) (interface{}, error)
SetOne(tableName string, rowKey interface{}, key2 interface{}, value []byte) error
DeleteOne(tableName string, rowKey string, key2 interface{}) error
DeleteAll(tableName string, rowKey string) error
GetAll(tableName string, rowKey string) ([]interface{}, error)
GetAllAsList(tableName string) ([]interface{}, error)
GetAllAsMap(tableName string, rowKey string, key2List []interface{}) (map[interface{}]interface{}, error)
GetRange(tableName string, rowKey interface{}, rangeInfo *RangeInfo) ([]interface{}, error)
GetKeys(tableName string) ([]TwoKeys, error)
GetKey2AsList(tableName string, rowKey string) ([]interface{}, error)
}
ListingDao interface
func GetListingDao ¶
func GetListingDao() ListingDao
GetListingDao return an implementation of ListingDao
type OperationType ¶
type OperationType string
OperationType enum
const ( CREATE_OPERATION OperationType = "CREATE" UPDATE_OPERATION OperationType = "UPDATE" DELETE_OPERATION OperationType = "DELETE" TRUNCATE_OPERATION OperationType = "TRUNCATE_CF" )
type PenetrationMetrics ¶
type RangeInfo ¶
type RangeInfo struct {
StartValue interface{}
EndValue interface{}
}
RangeInfo Xconf key2 filtering
func (*RangeInfo) IsNilEndValue ¶
func (*RangeInfo) IsNilStartValue ¶
type RecookingStatus ¶
type RfcPenetrationMetrics ¶
type RfcPenetrationMetrics struct {
EstbMac string
EcmMac string
SerialNum string
Partner string
Model string
RfcPartner string
TitanPartner string
RfcModel string
RfcFwReportedVersion string
RfcAppliedRules string
RfcAccountMgmt string
RfcFeatures string
RfcTs int64
RfcAccountHash string
RfcAccountId string
TitanAccountId string
RfcEnv string
RfcApplicationType string
RfcExperience string
RfcTimeZone string
RfcConfigsetHash string
RfcQueryParams string
RfcTags string
RfcEstbIp string
RfcPostProc string
ClientCertExpiry string
RecoveryCertExpiry string
}
type SimpleDao ¶
type SimpleDao interface {
Modify(query string, queryParams ...string) error
Query(query string, queryParams ...string) ([]map[string]interface{}, error)
GetOne(tableName string, rowKey string) (interface{}, error)
SetOne(tableName string, rowKey string, value []byte) error
DeleteOne(tableName string, rowKey string) error
GetAllByKeys(tableName string, rowKeys []string) ([]interface{}, error)
GetAllAsList(tableName string, maxResults int) ([]interface{}, error)
GetAllAsMap(tableName string, maxResults int) (map[string]interface{}, error)
GetKeys(tableName string) []string
GetAllAsMapRaw(tableName string, maxResults int) (map[string]json.RawMessage, error)
// Batch operations
NewBatch(batchType int) BatchOperation
ExecuteBatch(batch BatchOperation) error
}
SimpleDao interface
func GetSimpleDao ¶
func GetSimpleDao() SimpleDao
GetSimpleDao return an implementation of SimpleDao
type Statistics ¶
type Statistics struct {
CacheMap map[string]CacheStats `json:"Statistics"`
}
Statistics cache statistics
type TableInfo ¶
type TableInfo struct {
TableName string
ConstructorFunc func() interface{} // model/struct constructor function
Compress bool // data is compressed
Split bool // data is split into multiple chunks
CacheData bool // specifies whether to cache the data
TTL int // TTL for the data
Key2FieldName string // column name for listing table, e.g. Logs2, XconfChangedKeys4
DaoId int32 // Xconf DAO ID
}
func GetAllTableInfo ¶
func GetAllTableInfo() []TableInfo
func GetTableInfo ¶
func (*TableInfo) IsCompressAndSplit ¶
IsCompressAndSplit checks if data is compressed and split, i.e. CompressingDataDao
func (*TableInfo) IsCompressOnly ¶
IsCompressOnly checks if data is compressed, i.e. ListingDao