Documentation ¶
Overview ¶
Copyright 2021 Layotto Authors 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.
Copyright 2021 Layotto Authors 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.
Copyright 2021 Layotto Authors 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.
Copyright 2021 Layotto Authors 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.
Index ¶
- Constants
- Variables
- func GetModifiedSeqKey(key, storeName, appID string) (string, error)
- func GetNextIdFromCache(ctx context.Context, store sequencer.Store, req *sequencer.GetNextIdRequest) (bool, int64, error)
- func SaveSeqConfiguration(storeName string, metadata map[string]string) error
- type Buffer
- type DoubleBuffer
- type Factory
- type Registry
- type StoreConfiguration
Constants ¶
const (
ServiceName = "sequencer"
)
Variables ¶
var BufferCatch = map[string]*DoubleBuffer{}
BufferCatch catch key and buffer
Functions ¶
func GetModifiedSeqKey ¶ added in v0.3.0
func GetNextIdFromCache ¶
Types ¶
type DoubleBuffer ¶ added in v0.3.0
type DoubleBuffer struct { Key string Store sequencer.Store // contains filtered or unexported fields }
DoubleBuffer is double segment id buffer. There are two buffers in DoubleBuffer: inUseBuffer is in use, BackUpBuffer is a backup buffer. Their default capacity is 1000. When the inUseBuffer usage exceeds 30%, the BackUpBuffer will be initialized. When inUseBuffer is used up, swap them.
func NewDoubleBuffer ¶ added in v0.3.0
func NewDoubleBuffer(key string, store sequencer.Store) *DoubleBuffer
type Registry ¶
type Registry interface { Register(fs ...*Factory) Create(compType string) (sequencer.Store, error) }
func NewRegistry ¶
func NewRegistry(info *info.RuntimeInfo) Registry
type StoreConfiguration ¶ added in v0.3.0
type StoreConfiguration struct {
// contains filtered or unexported fields
}