dax

package
v1.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2026 License: MIT Imports: 28 Imported by: 0

README

DAX

Parity grade: A · SDK aws-sdk-go-v2/service/dax@v1.29.18 · last audited 2026-07-12 (61ba31abe8d8)

Coverage

Metric Value
Operations audited 22 (21 ok, 1 partial)
Feature families 3 (2 ok, 1 deferred)
Known gaps 3
Deferred items 1
Resource leaks clean
Known gaps
  • DescribeParameters ignores the request's Source filter (user/system/engine-default); AWS lets callers narrow the parameter list by source, gopherstack always returns all parameters in the group regardless of the filter value. Low traffic (DAX only ships 2 parameters total), not fixed this pass -- file a bd issue if prioritized.
  • Cluster response omits the newer NetworkType/NodeIdsToRemove top-level fields and SubnetGroup/Subnet SupportedNetworkTypes (dual-stack IPv4/IPv6 networking, added to the DAX API after the original model was written). Not modeled; would require new Cluster/SubnetGroup fields plus backend support for ipv4/ipv6/dual_stack, out of scope for a wire-shape-focused sweep.
  • TagResource/UntagResource/ListTags accept ARNs for parameter groups and subnet groups (via arnExists), not just clusters. Not verified against real AWS DAX docs whether non-cluster resources are taggable; left as-is (permissive) rather than guessing and narrowing behavior incorrectly.
Deferred
  • dataplane/ (binary DAX client protocol server, separate from the HTTP control-plane API audited here)

More

Documentation

Overview

Package dax provides an in-memory simulation of the Amazon DAX (DynamoDB Accelerator) API.

Index

Constants

View Source
const (
	StatusAvailable             = "available"
	StatusCreating              = "creating"
	StatusDeleting              = "deleting"
	StatusModifying             = "modifying"
	StatusRebooting             = "rebooting"
	StatusFailed                = "failed"
	StatusIncompatibleNetwork   = "incompatible-network"
	StatusIncompatibleParameter = "incompatible-parameters"
)

Cluster status values.

View Source
const (
	EncryptionTypeNone = "NONE"
	EncryptionTypeTLS  = "TLS"
)

ClusterEndpointEncryptionType values.

View Source
const (
	EventSourceTypeCluster        = "CLUSTER"
	EventSourceTypeParameterGroup = "PARAMETER_GROUP"
	EventSourceTypeSubnetGroup    = "SUBNET_GROUP"
	EventSourceTypeNode           = "NODE"
)

EventSourceType values.

View Source
const (
	DefaultParameterGroupName = "default.dax1.0"
	DefaultSubnetGroupName    = "default"
)

Default values.

View Source
const (
	ParameterTypeDefault          = "DEFAULT"
	ParameterTypeNodeTypeSpecific = "NODE_TYPE_SPECIFIC"
)

ParameterType values distinguish individual versus per-node-type parameters.

Variables

View Source
var (
	// ErrClusterNotFound is returned when a cluster does not exist.
	ErrClusterNotFound = awserr.New("ClusterNotFoundFault", awserr.ErrNotFound)
	// ErrClusterAlreadyExists is returned when a cluster with the same name already exists.
	ErrClusterAlreadyExists = awserr.New("ClusterAlreadyExistsFault", awserr.ErrConflict)
	// ErrParameterGroupNotFound is returned when a parameter group does not exist.
	ErrParameterGroupNotFound = awserr.New("ParameterGroupNotFoundFault", awserr.ErrNotFound)
	// ErrParameterGroupAlreadyExists is returned when a parameter group already exists.
	ErrParameterGroupAlreadyExists = awserr.New(
		"ParameterGroupAlreadyExistsFault",
		awserr.ErrConflict,
	)
	// ErrSubnetGroupNotFound is returned when a subnet group does not exist.
	ErrSubnetGroupNotFound = awserr.New("SubnetGroupNotFoundFault", awserr.ErrNotFound)
	// ErrSubnetGroupAlreadyExists is returned when a subnet group already exists.
	ErrSubnetGroupAlreadyExists = awserr.New("SubnetGroupAlreadyExistsFault", awserr.ErrConflict)
	// ErrInvalidClusterState is returned when an operation is not valid for the cluster state.
	ErrInvalidClusterState = awserr.New("InvalidClusterStateFault", awserr.ErrConflict)
	// ErrTagNotFound is returned when a tag or resource is not found.
	ErrTagNotFound = awserr.New("TagNotFoundFault", awserr.ErrNotFound)
	// ErrInvalidARN is returned for invalid ARNs.
	ErrInvalidARN = awserr.New("InvalidARNFault", awserr.ErrInvalidParameter)
	// ErrInvalidParameterValue is returned when a parameter value is invalid.
	ErrInvalidParameterValue = awserr.New("InvalidParameterValueException", awserr.ErrInvalidParameter)
	// ErrInvalidParameterCombination is returned for invalid parameter combinations.
	ErrInvalidParameterCombination = awserr.New("InvalidParameterCombinationException", awserr.ErrInvalidParameter)
	// ErrNodeNotFound is returned when a node does not exist.
	ErrNodeNotFound = awserr.New("NodeNotFoundFault", awserr.ErrNotFound)
	// ErrTagQuotaExceeded is returned when adding tags would exceed the per-resource limit.
	ErrTagQuotaExceeded = awserr.New("TagQuotaPerResourceExceeded", awserr.ErrInvalidParameter)
	// ErrSubnetGroupInUse is returned when attempting to delete a subnet group used by a cluster.
	ErrSubnetGroupInUse = awserr.New("SubnetGroupInUseFault", awserr.ErrConflict)
	// ErrParameterGroupInUse is returned when attempting to delete a parameter group used by a cluster.
	ErrParameterGroupInUse = awserr.New("ParameterGroupInUseFault", awserr.ErrConflict)
)

Sentinel errors for the DAX backend.

View Source
var ErrNilAppContext = errors.New("dax: nil app context")

ErrNilAppContext is returned when Init is called with a nil AppContext.

Functions

This section is empty.

Types

type Cluster

type Cluster struct {
	CreateTime                    time.Time                  `json:"createTime"`
	Tags                          map[string]string          `json:"tags"`
	Endpoint                      *Endpoint                  `json:"endpoint,omitempty"`
	NotificationConfiguration     *NotificationConfiguration `json:"notificationConfiguration,omitempty"`
	Status                        string                     `json:"status"`
	Description                   string                     `json:"description"`
	IamRoleArn                    string                     `json:"iamRoleArn"`
	SubnetGroupName               string                     `json:"subnetGroupName"`
	SSEDescription                SSEDescription             `json:"sseDescription"`
	ClusterName                   string                     `json:"clusterName"`
	ClusterArn                    string                     `json:"clusterArn"`
	PreferredMaintenanceWindow    string                     `json:"preferredMaintenanceWindow"`
	NodeType                      string                     `json:"nodeType"`
	ClusterEndpointEncryptionType string                     `json:"clusterEndpointEncryptionType"`
	ParameterGroup                ParameterGroupStatus       `json:"parameterGroup"`
	Nodes                         []Node                     `json:"nodes"`
	SecurityGroupIDs              []string                   `json:"securityGroupIds"`
	ActiveNodes                   int                        `json:"activeNodes"`
	TotalNodes                    int                        `json:"totalNodes"`
	NextNodeIndex                 int                        `json:"nextNodeIndex"`
}

Cluster represents an Amazon DAX cluster.

type CreateClusterInput

type CreateClusterInput struct {
	Tags                          map[string]string
	NodeType                      string
	ClusterName                   string
	Description                   string
	IamRoleArn                    string
	SubnetGroupName               string
	PreferredMaintenanceWindow    string
	ParameterGroupName            string
	NotificationTopicArn          string
	ClusterEndpointEncryptionType string
	AvailabilityZones             []string
	SecurityGroupIDs              []string
	ReplicationFactor             int
	SSESpecificationEnabled       bool
}

CreateClusterInput holds parameters for creating a DAX cluster.

type DataPlane added in v1.1.1

type DataPlane struct {
	// contains filtered or unexported fields
}

DataPlane bundles the DAX binary-protocol listener with the DynamoDB backend it delegates item operations to. DAX is a write-through cache in front of DynamoDB; for emulation purposes the cache is a pass-through to a real in-memory DynamoDB store.

func (*DataPlane) Addr added in v1.1.1

func (d *DataPlane) Addr() net.Addr

Addr returns the bound listener address, or nil if not yet listening.

func (*DataPlane) Start added in v1.1.1

func (d *DataPlane) Start() error

Start binds the listener and begins serving DAX protocol connections.

func (*DataPlane) Stop added in v1.1.1

func (d *DataPlane) Stop()

Stop closes the listener and all active connections.

type DecreaseReplicationFactorInput

type DecreaseReplicationFactorInput struct {
	ClusterName          string
	NodeIDsToRemove      []string
	NewReplicationFactor int
}

DecreaseReplicationFactorInput holds parameters for decreasing cluster replication.

type Endpoint

type Endpoint struct {
	Address string `json:"address"`
	URL     string `json:"url"`
	Port    int    `json:"port"`
}

Endpoint represents a DAX cluster endpoint.

type Event

type Event struct {
	Date       time.Time `json:"date"`
	SourceName string    `json:"sourceName"`
	SourceType string    `json:"sourceType"`
	Message    string    `json:"message"`
}

Event represents a DAX service lifecycle event.

type Handler

type Handler struct {
	Backend   StorageBackend
	DataPlane *DataPlane
}

Handler is the HTTP handler for the Amazon DAX API. It also owns the optional DAX binary-protocol data-plane listener (see dataplane_server.go).

func NewHandler

func NewHandler(backend StorageBackend) *Handler

NewHandler creates a new DAX handler.

func (*Handler) DataPlaneBackend

func (h *Handler) DataPlaneBackend() *dynamodb.InMemoryDB

DataPlaneBackend returns the DynamoDB backend the data plane delegates to, for tests and dashboards. It is nil when the data plane is disabled.

func (*Handler) EnableDataPlane

func (h *Handler) EnableDataPlane(ctx context.Context, addr string) *DataPlane

EnableDataPlane attaches a DAX data-plane listener to the handler. It is idempotent. The returned data plane exposes the bound address for tests.

func (*Handler) ExtractOperation

func (h *Handler) ExtractOperation(c *echo.Context) string

ExtractOperation extracts the operation name from the X-Amz-Target header.

func (*Handler) ExtractResource

func (h *Handler) ExtractResource(c *echo.Context) string

ExtractResource extracts the resource from the request.

func (*Handler) GetSupportedOperations

func (h *Handler) GetSupportedOperations() []string

GetSupportedOperations returns the list of supported DAX operations.

func (*Handler) Handler

func (h *Handler) Handler() echo.HandlerFunc

Handler returns the Echo handler function for DAX requests.

func (*Handler) MatchPriority

func (h *Handler) MatchPriority() int

MatchPriority returns the routing priority.

func (*Handler) Name

func (h *Handler) Name() string

Name returns the service name.

func (*Handler) Reset

func (h *Handler) Reset()

Reset clears handler state.

func (*Handler) Restore

func (h *Handler) Restore(ctx context.Context, data []byte) error

Restore restores backend state from JSON bytes.

func (*Handler) RouteMatcher

func (h *Handler) RouteMatcher() service.Matcher

RouteMatcher returns a function that matches DAX API requests.

func (*Handler) Shutdown

func (h *Handler) Shutdown(_ context.Context)

Shutdown stops the DAX data-plane listener. It satisfies service.Shutdowner.

func (*Handler) Snapshot

func (h *Handler) Snapshot(ctx context.Context) []byte

Snapshot returns the backend state as JSON bytes.

func (*Handler) StartWorker

func (h *Handler) StartWorker(_ context.Context) error

StartWorker starts the DAX data-plane listener if one has been enabled. It satisfies service.BackgroundWorker so the listener comes up with the service.

type InMemoryBackend

type InMemoryBackend struct {
	AccountID string
	Region    string
	// contains filtered or unexported fields
}

InMemoryBackend is the in-memory DAX backend.

clusters, paramGroups, and subnetGroups are *store.Table[T] (see store_setup.go). Each keys off a real, non-json:"-" identity field the value type already carries, so all three register directly on registry -- no DTO indirection and no secondary store.Index are needed (arnExists and clusterByARN parse the resource name back out of the ARN string and look it up directly, so there is no ARN-keyed reverse-lookup map to replace). tags and events are left as plain fields; see store_setup.go's file doc comment.

func NewInMemoryBackend

func NewInMemoryBackend(accountID, region string) *InMemoryBackend

NewInMemoryBackend creates a new DAX backend.

func (*InMemoryBackend) CreateCluster

func (b *InMemoryBackend) CreateCluster(input CreateClusterInput) (*Cluster, error)

CreateCluster creates a new DAX cluster.

func (*InMemoryBackend) CreateParameterGroup

func (b *InMemoryBackend) CreateParameterGroup(name, description string) (*ParameterGroup, error)

CreateParameterGroup creates a DAX parameter group.

func (*InMemoryBackend) CreateSubnetGroup

func (b *InMemoryBackend) CreateSubnetGroup(
	name, description string,
	subnetIDs []string,
) (*SubnetGroup, error)

CreateSubnetGroup creates a DAX subnet group.

func (*InMemoryBackend) DecreaseReplicationFactor

func (b *InMemoryBackend) DecreaseReplicationFactor(input DecreaseReplicationFactorInput) (*Cluster, error)

DecreaseReplicationFactor removes nodes from a cluster.

func (*InMemoryBackend) DeleteCluster

func (b *InMemoryBackend) DeleteCluster(clusterName string) (*Cluster, error)

DeleteCluster marks a DAX cluster as deleting and removes it from the store.

func (*InMemoryBackend) DeleteParameterGroup

func (b *InMemoryBackend) DeleteParameterGroup(name string) error

DeleteParameterGroup deletes a DAX parameter group.

func (*InMemoryBackend) DeleteSubnetGroup

func (b *InMemoryBackend) DeleteSubnetGroup(name string) error

DeleteSubnetGroup deletes a DAX subnet group.

func (*InMemoryBackend) DescribeClusters

func (b *InMemoryBackend) DescribeClusters(
	clusterNames []string,
	maxResults int,
	nextToken string,
) ([]*Cluster, string, error)

DescribeClusters returns DAX clusters, optionally filtered by name.

func (*InMemoryBackend) DescribeDefaultParameters

func (b *InMemoryBackend) DescribeDefaultParameters(maxResults int, nextToken string) ([]*Parameter, string, error)

DescribeDefaultParameters returns the default DAX 1.0 parameter definitions with pagination.

func (*InMemoryBackend) DescribeEvents

func (b *InMemoryBackend) DescribeEvents(
	sourceName string,
	sourceType string,
	startTime *time.Time,
	endTime *time.Time,
	maxResults int,
	nextToken string,
) ([]*Event, string, error)

DescribeEvents returns events filtered by source and time range.

func (*InMemoryBackend) DescribeParameterGroups

func (b *InMemoryBackend) DescribeParameterGroups(
	names []string,
	maxResults int,
	nextToken string,
) ([]*ParameterGroup, string, error)

DescribeParameterGroups returns DAX parameter groups with pagination.

func (*InMemoryBackend) DescribeParameters

func (b *InMemoryBackend) DescribeParameters(
	paramGroupName string,
	maxResults int,
	nextToken string,
) ([]*Parameter, string, error)

DescribeParameters returns the parameters for a specific parameter group with pagination.

func (*InMemoryBackend) DescribeSubnetGroups

func (b *InMemoryBackend) DescribeSubnetGroups(
	names []string,
	maxResults int,
	nextToken string,
) ([]*SubnetGroup, string, error)

DescribeSubnetGroups returns DAX subnet groups with pagination.

func (*InMemoryBackend) GetDefaultTTL

func (b *InMemoryBackend) GetDefaultTTL() (time.Duration, time.Duration)

GetDefaultTTL returns the TTLs configured in the first available cluster's param group, or defaults.

func (*InMemoryBackend) IncreaseReplicationFactor

func (b *InMemoryBackend) IncreaseReplicationFactor(input IncreaseReplicationFactorInput) (*Cluster, error)

IncreaseReplicationFactor adds nodes to a cluster.

func (*InMemoryBackend) ListTags

func (b *InMemoryBackend) ListTags(
	resourceArn string,
	nextToken string,
) (map[string]string, string, error)

ListTags returns tags for a DAX resource with optional pagination.

func (*InMemoryBackend) RebootNode

func (b *InMemoryBackend) RebootNode(clusterName, nodeID string) (*Cluster, error)

RebootNode initiates a reboot of a specific node in a cluster.

func (*InMemoryBackend) Reset

func (b *InMemoryBackend) Reset()

Reset clears all DAX state.

func (*InMemoryBackend) ResetParameterGroup

func (b *InMemoryBackend) ResetParameterGroup(name string, parameterNames []string) (*ParameterGroup, error)

ResetParameterGroup resets parameter group parameters to defaults.

func (*InMemoryBackend) Restore

func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error

Restore deserializes backend state from JSON.

func (*InMemoryBackend) Snapshot

func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte

Snapshot serializes the backend state to JSON.

func (*InMemoryBackend) TagResource

func (b *InMemoryBackend) TagResource(resourceArn string, tags map[string]string) (map[string]string, error)

TagResource adds tags to a DAX resource and returns the complete tag set.

func (*InMemoryBackend) UntagResource

func (b *InMemoryBackend) UntagResource(resourceArn string, tagKeys []string) (map[string]string, error)

UntagResource removes tags from a DAX resource and returns the remaining tags.

func (*InMemoryBackend) UpdateCluster

func (b *InMemoryBackend) UpdateCluster(input UpdateClusterInput) (*Cluster, error)

UpdateCluster updates a DAX cluster's configuration.

func (*InMemoryBackend) UpdateParameterGroup

func (b *InMemoryBackend) UpdateParameterGroup(input UpdateParameterGroupInput) (*ParameterGroup, error)

UpdateParameterGroup updates parameter values in a parameter group.

func (*InMemoryBackend) UpdateSubnetGroup

func (b *InMemoryBackend) UpdateSubnetGroup(input UpdateSubnetGroupInput) (*SubnetGroup, error)

UpdateSubnetGroup updates a subnet group's description and/or subnet list.

type IncreaseReplicationFactorInput

type IncreaseReplicationFactorInput struct {
	ClusterName          string
	AvailabilityZones    []string
	NewReplicationFactor int
}

IncreaseReplicationFactorInput holds parameters for increasing cluster replication.

type Node

type Node struct {
	CreateTime           time.Time `json:"createTime"`
	Endpoint             *Endpoint `json:"endpoint,omitempty"`
	NodeID               string    `json:"nodeId"`
	NodeStatus           string    `json:"nodeStatus"`
	AvailabilityZone     string    `json:"availabilityZone"`
	ParameterGroupStatus string    `json:"parameterGroupStatus"`
}

Node represents a single DAX node in a cluster.

type NotificationConfiguration

type NotificationConfiguration struct {
	TopicArn    string `json:"topicArn"`
	TopicStatus string `json:"topicStatus"`
}

NotificationConfiguration holds SNS notification topic configuration.

type Parameter

type Parameter struct {
	ParameterName  string `json:"parameterName"`
	ParameterValue string `json:"parameterValue"`
	Description    string `json:"description"`
	Source         string `json:"source"`
	DataType       string `json:"dataType"`
	IsModifiable   string `json:"isModifiable"`
	ChangeType     string `json:"changeType"`
	AllowedValues  string `json:"allowedValues,omitempty"`
	ParameterType  string `json:"parameterType,omitempty"`
}

Parameter represents a DAX parameter with metadata.

type ParameterGroup

type ParameterGroup struct {
	Parameters         map[string]string `json:"parameters"`
	ParameterGroupName string            `json:"parameterGroupName"`
	Description        string            `json:"description"`
}

ParameterGroup represents a DAX parameter group.

type ParameterGroupStatus

type ParameterGroupStatus struct {
	ParameterGroupName   string   `json:"parameterGroupName"`
	ParameterApplyStatus string   `json:"parameterApplyStatus"`
	NodeIDsToReboot      []string `json:"nodeIdsToReboot,omitempty"`
}

ParameterGroupStatus holds parameter group status for a cluster.

type ParameterNameValue

type ParameterNameValue struct {
	ParameterName  string `json:"parameterName"`
	ParameterValue string `json:"parameterValue"`
}

ParameterNameValue is a name-value pair for parameter updates.

type Provider

type Provider struct{}

Provider implements service.Provider for Amazon DAX.

func (*Provider) Init

Init initializes the DAX service backend and handler.

func (*Provider) Name

func (p *Provider) Name() string

Name returns the provider name.

type SSEDescription

type SSEDescription struct {
	Status string `json:"status"`
}

SSEDescription holds encryption at rest details.

type StorageBackend

type StorageBackend interface {
	// Cluster operations.
	CreateCluster(input CreateClusterInput) (*Cluster, error)
	DescribeClusters(
		clusterNames []string,
		maxResults int,
		nextToken string,
	) ([]*Cluster, string, error)
	UpdateCluster(input UpdateClusterInput) (*Cluster, error)
	DeleteCluster(clusterName string) (*Cluster, error)
	IncreaseReplicationFactor(input IncreaseReplicationFactorInput) (*Cluster, error)
	DecreaseReplicationFactor(input DecreaseReplicationFactorInput) (*Cluster, error)
	RebootNode(clusterName, nodeID string) (*Cluster, error)

	// Tag operations.
	TagResource(resourceArn string, tags map[string]string) (map[string]string, error)
	UntagResource(resourceArn string, tagKeys []string) (map[string]string, error)
	ListTags(resourceArn string, nextToken string) (map[string]string, string, error)

	// Parameter group operations.
	CreateParameterGroup(name, description string) (*ParameterGroup, error)
	DescribeParameterGroups(
		names []string,
		maxResults int,
		nextToken string,
	) ([]*ParameterGroup, string, error)
	UpdateParameterGroup(input UpdateParameterGroupInput) (*ParameterGroup, error)
	DeleteParameterGroup(name string) error
	DescribeParameters(paramGroupName string, maxResults int, nextToken string) ([]*Parameter, string, error)
	DescribeDefaultParameters(maxResults int, nextToken string) ([]*Parameter, string, error)
	ResetParameterGroup(name string, parameterNames []string) (*ParameterGroup, error)

	// Subnet group operations.
	CreateSubnetGroup(name, description string, subnetIDs []string) (*SubnetGroup, error)
	DescribeSubnetGroups(
		names []string,
		maxResults int,
		nextToken string,
	) ([]*SubnetGroup, string, error)
	UpdateSubnetGroup(input UpdateSubnetGroupInput) (*SubnetGroup, error)
	DeleteSubnetGroup(name string) error

	// Event operations.
	DescribeEvents(
		sourceName string,
		sourceType string,
		startTime *time.Time,
		endTime *time.Time,
		maxResults int,
		nextToken string,
	) ([]*Event, string, error)

	GetDefaultTTL() (recordTTL time.Duration, queryTTL time.Duration)

	// Reset / persistence.
	Reset()
	Snapshot(ctx context.Context) []byte
	Restore(ctx context.Context, data []byte) error
}

StorageBackend is the interface for DAX storage operations.

type SubnetEntry

type SubnetEntry struct {
	SubnetID         string `json:"subnetId"`
	AvailabilityZone string `json:"availabilityZone"`
}

SubnetEntry represents a subnet with its availability zone.

type SubnetGroup

type SubnetGroup struct {
	SubnetGroupName string        `json:"subnetGroupName"`
	Description     string        `json:"description"`
	VpcID           string        `json:"vpcId"`
	Subnets         []SubnetEntry `json:"subnets"`
}

SubnetGroup represents a DAX subnet group.

type UpdateClusterInput

type UpdateClusterInput struct {
	Description                *string
	ClusterName                string
	PreferredMaintenanceWindow string
	ParameterGroupName         string
	NotificationTopicArn       string
	NotificationTopicStatus    string
	SecurityGroupIDs           []string
}

UpdateClusterInput holds parameters for updating a DAX cluster. Description uses a pointer so callers can explicitly clear it (empty string vs absent).

type UpdateParameterGroupInput

type UpdateParameterGroupInput struct {
	ParameterGroupName  string
	ParameterNameValues []ParameterNameValue
}

UpdateParameterGroupInput holds parameters for updating a parameter group.

type UpdateSubnetGroupInput

type UpdateSubnetGroupInput struct {
	SubnetGroupName string
	Description     string
	SubnetIDs       []string
}

UpdateSubnetGroupInput holds parameters for updating a subnet group.

Directories

Path Synopsis
Package dataplane implements enough of the Amazon DAX binary wire protocol to serve the core DynamoDB data-plane operations over a raw TCP socket.
Package dataplane implements enough of the Amazon DAX binary wire protocol to serve the core DynamoDB data-plane operations over a raw TCP socket.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL