MCPcopy Index your code
hub / github.com/cirello-io/dynamolock

github.com/cirello-io/dynamolock @v2.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.1.0 ↗ · + Follow
345 symbols 1,848 edges 36 files 115 documented · 33%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

DynamoDB Lock Client for Go

** dynamolock v1 is now retired. Please use the [dynamolock/v2][https://cirello.io/dynamolock/v2]. **

This repository is covered by this SLA.

The dymanoDB Lock Client for Go is a general purpose distributed locking library built for DynamoDB. The dynamoDB Lock Client for Go supports both fine-grained and coarse-grained locking as the lock keys can be any arbitrary string, up to a certain length. Please create issues in the GitHub repository with questions, pull request are very much welcome.

It is a port in Go of Amazon's original dynamodb-lock-client.

Extension points exported contracts — how you extend this code

Logger (Interface)
Logger defines the minimum desired logger interface for the lock client. [7 implementers]
client.go
Logger (Interface)
Logger defines the minimum desired logger interface for the lock client. [7 implementers]
v2/client.go
SendHeartbeatOption (FuncType)
SendHeartbeatOption allows to proceed with Lock content changes in the heartbeat cycle.
client_heartbeat.go
SendHeartbeatOption (FuncType)
SendHeartbeatOption allows to proceed with Lock content changes in the heartbeat cycle.
v2/client_heartbeat.go
ContextLogger (Interface)
ContextLogger defines a logger interface that can be used to pass extra information to the implementation. For example, [7 …
client.go
ContextLogger (Interface)
ContextLogger defines a logger interface that can be used to pass extra information to the implementation. For example, [7 …
v2/client.go
ClientOption (FuncType)
ClientOption reconfigure the lock client creation.
client.go
ClientOption (FuncType)
ClientOption reconfigure the lock client creation.
v2/client.go

Core symbols most depended-on inside this repo

AcquireLock
called by 82
v2/client.go
CreateTable
called by 61
v2/client.go
Data
called by 56
v2/lock.go
Error
called by 54
v2/errors.go
Close
called by 49
v2/lock.go
AcquireLock
called by 43
client.go
Data
called by 34
lock.go
Error
called by 33
errors.go

Shape

Function 160
Method 135
Struct 35
FuncType 10
Interface 5

Languages

Go100%

Modules by API surface

v2/client.go78 symbols
client.go64 symbols
v2/client_test.go34 symbols
client_test.go25 symbols
v2/client_sort_key_test.go16 symbols
v2/lock.go11 symbols
lock.go11 symbols
v2/client_session_monitor_test.go10 symbols
v2/client_heartbeat_test.go10 symbols
v2/client_heartbeat.go10 symbols
client_heartbeat.go7 symbols
v2/errors.go6 symbols

For agents

$ claude mcp add dynamolock \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact