dtos

package
v3.1.1-0...-90097f9 Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2021 License: Apache-2.0 Imports: 6 Imported by: 15

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BetweenMatcherDataDTO

type BetweenMatcherDataDTO struct {
	DataType string `json:"dataType"` //NUMBER or DATETIME
	Start    int64  `json:"start"`
	End      int64  `json:"end"`
}

BetweenMatcherDataDTO structure to map a Matcher definition fetched from JSON message.

type ConditionDTO

type ConditionDTO struct {
	ConditionType string          `json:"conditionType"`
	MatcherGroup  MatcherGroupDTO `json:"matcherGroup"`
	Partitions    []PartitionDTO  `json:"partitions"`
	Label         string          `json:"label"`
}

ConditionDTO structure to map a Condition fetched from JSON message.

type Config

type Config struct {
	OperationMode              int           `json:"oM,omitempty"`
	StreamingEnabled           bool          `json:"sE,omitempty"`
	Storage                    string        `json:"st,omitempty"`
	Rates                      *Rates        `json:"rR,omitempty"`
	URLOverrides               *URLOverrides `json:"uO,omitempty"`
	ImpressionsQueueSize       int64         `json:"iQ,omitempty"`
	EventsQueueSize            int64         `json:"eQ,omitempty"`
	ImpressionsMode            int           `json:"iM,omitempty"`
	ImpressionsListenerEnabled bool          `json:"iL,omitempty"`
	HTTPProxyDetected          bool          `json:"hP,omitempty"`
	ActiveFactories            int64         `json:"aF,omitempty"`
	RedundantFactories         int64         `json:"rF,omitempty"`
	TimeUntilReady             int64         `json:"tR,omitempty"`
	BurTimeouts                int64         `json:"bT,omitempty"`
	NonReadyUsages             int64         `json:"nR,omitempty"`
	Integrations               []string      `json:"i,omitempty"`
	Tags                       []string      `json:"t,omitempty"`
}

Config data for initial configs metrics

type DependencyMatcherDataDTO

type DependencyMatcherDataDTO struct {
	Split      string   `json:"split"`
	Treatments []string `json:"treatments"`
}

DependencyMatcherDataDTO structure to map matcher definition fetched from JSON message.

type EventDTO

type EventDTO struct {
	Key             string                 `json:"key"`
	TrafficTypeName string                 `json:"trafficTypeName"`
	EventTypeID     string                 `json:"eventTypeId"`
	Value           interface{}            `json:"value"`
	Timestamp       int64                  `json:"timestamp"`
	Properties      map[string]interface{} `json:"properties,omitempty"`
}

EventDTO struct mapping events json

func (*EventDTO) Size

func (e *EventDTO) Size() int

Size returns a relatively accurate estimation of the size of the event

type HTTPError

type HTTPError struct {
	Code    int
	Message string
}

HTTPError represents a http error

func (HTTPError) Error

func (h HTTPError) Error() string

Error implements golang error interface

type HTTPErrors

type HTTPErrors struct {
	Splits           map[int]int64 `json:"sp,omitempty"`
	Segments         map[int]int64 `json:"se,omitempty"`
	Impressions      map[int]int64 `json:"im,omitempty"`
	ImpressionsCount map[int]int64 `json:"ic,omitempty"`
	Events           map[int]int64 `json:"ev,omitempty"`
	Token            map[int]int64 `json:"to,omitempty"`
	Telemetry        map[int]int64 `json:"te,omitempty"`
}

HTTPErrors struct

type HTTPLatencies

type HTTPLatencies struct {
	Splits           []int64 `json:"sp,omitempty"`
	Segments         []int64 `json:"se,omitempty"`
	Impressions      []int64 `json:"im,omitempty"`
	ImpressionsCount []int64 `json:"ic,omitempty"`
	Events           []int64 `json:"ev,omitempty"`
	Token            []int64 `json:"to,omitempty"`
	Telemetry        []int64 `json:"te,omitempty"`
}

HTTPLatencies struct

type Impression

type Impression struct {
	KeyName      string `json:"k"`
	BucketingKey string `json:"b"`
	FeatureName  string `json:"f"`
	Treatment    string `json:"t"`
	Label        string `json:"r"`
	ChangeNumber int64  `json:"c"`
	Time         int64  `json:"m"`
	Pt           int64  `json:"pt,omitempty"`
}

Impression struct to map an impression

type ImpressionDTO

type ImpressionDTO struct {
	KeyName      string `json:"k"`
	Treatment    string `json:"t"`
	Time         int64  `json:"m"`
	ChangeNumber int64  `json:"c"`
	Label        string `json:"r"`
	BucketingKey string `json:"b,omitempty"`
	Pt           int64  `json:"pt,omitempty"`
}

ImpressionDTO struct to map an impression

type ImpressionQueueObject

type ImpressionQueueObject struct {
	Metadata   Metadata   `json:"m"`
	Impression Impression `json:"i"`
}

ImpressionQueueObject struct mapping impressions

type ImpressionsCountDTO

type ImpressionsCountDTO struct {
	PerFeature []ImpressionsInTimeFrameDTO `json:"pf"`
}

ImpressionsCountDTO struct mapping impressions count to post

type ImpressionsDTO

type ImpressionsDTO struct {
	TestName       string          `json:"f"`
	KeyImpressions []ImpressionDTO `json:"i"`
}

ImpressionsDTO struct mapping impressions to post

type ImpressionsInTimeFrameDTO

type ImpressionsInTimeFrameDTO struct {
	FeatureName string `json:"f"`
	TimeFrame   int64  `json:"m"`
	RawCount    int64  `json:"rc"`
}

ImpressionsInTimeFrameDTO struct mapping impressionsCount in time window

type KeySelectorDTO

type KeySelectorDTO struct {
	TrafficType string  `json:"trafficType"`
	Attribute   *string `json:"attribute"`
}

KeySelectorDTO structure to map a Key slector definition fetched from JSON message.

type LastSynchronization

type LastSynchronization struct {
	Splits           int64 `json:"sp,omitempty"`
	Segments         int64 `json:"se,omitempty"`
	Impressions      int64 `json:"im,omitempty"`
	ImpressionsCount int64 `json:"ic,omitempty"`
	Events           int64 `json:"ev,omitempty"`
	Token            int64 `json:"to,omitempty"`
	Telemetry        int64 `json:"te,omitempty"`
}

LastSynchronization struct

type MatcherDTO

type MatcherDTO struct {
	KeySelector        *KeySelectorDTO                   `json:"keySelector"`
	MatcherType        string                            `json:"matcherType"`
	Negate             bool                              `json:"negate"`
	UserDefinedSegment *UserDefinedSegmentMatcherDataDTO `json:"userDefinedSegmentMatcherData"`
	Whitelist          *WhitelistMatcherDataDTO          `json:"whitelistMatcherData"`
	UnaryNumeric       *UnaryNumericMatcherDataDTO       `json:"unaryNumericMatcherData"`
	Between            *BetweenMatcherDataDTO            `json:"betweenMatcherData"`
	Dependency         *DependencyMatcherDataDTO         `json:"dependencyMatcherData"`
	Boolean            *bool                             `json:"booleanMatcherData"`
	String             *string                           `json:"stringMatcherData"`
}

MatcherDTO structure to map a Matcher definition fetched from JSON message.

type MatcherGroupDTO

type MatcherGroupDTO struct {
	Combiner string       `json:"combiner"`
	Matchers []MatcherDTO `json:"matchers"`
}

MatcherGroupDTO structure to map a Matcher Group definition fetched from JSON message.

type Metadata

type Metadata struct {
	SDKVersion  string `json:"s"`
	MachineIP   string `json:"i"`
	MachineName string `json:"n"`
}

Metadata is used to store sdk metadata

type MethodExceptions

type MethodExceptions struct {
	Treatment            int64 `json:"t,omitempty"`
	Treatments           int64 `json:"ts,omitempty"`
	TreatmentWithConfig  int64 `json:"tc,omitempty"`
	TreatmentsWithConfig int64 `json:"tcs,omitempty"`
	Track                int64 `json:"tr,omitempty"`
}

MethodExceptions struct

type MethodLatencies

type MethodLatencies struct {
	Treatment            []int64 `json:"t,omitempty"`
	Treatments           []int64 `json:"ts,omitempty"`
	TreatmentWithConfig  []int64 `json:"tc,omitempty"`
	TreatmentsWithConfig []int64 `json:"tcs,omitempty"`
	Track                []int64 `json:"tr,omitempty"`
}

MethodLatencies struct

type MySegmentDTO

type MySegmentDTO struct {
	Name string `json:"name"`
}

MySegmentDTO struct mapping segment data for mySegments endpoint

type ParsedCapabilities

type ParsedCapabilities map[string][]string

ParsedCapabilities capabilities

type PartitionDTO

type PartitionDTO struct {
	Treatment string `json:"treatment"`
	Size      int    `json:"size"`
}

PartitionDTO structure to map a Partition definition fetched from JSON message.

type QueueStoredEventDTO

type QueueStoredEventDTO struct {
	Metadata Metadata `json:"m"`
	Event    EventDTO `json:"e"`
}

QueueStoredEventDTO maps the stored JSON object in redis by SDKs

type Rates

type Rates struct {
	Splits      int64 `json:"sp,omitempty"`
	Segments    int64 `json:"se,omitempty"`
	Impressions int64 `json:"im,omitempty"`
	Events      int64 `json:"ev,omitempty"`
	Telemetry   int64 `json:"te,omitempty"`
}

Rates struct

type SegmentChangesDTO

type SegmentChangesDTO struct {
	Name    string   `json:"name"`
	Added   []string `json:"added"`
	Removed []string `json:"removed"`
	Since   int64    `json:"since"`
	Till    int64    `json:"till"`
}

SegmentChangesDTO struct to map a segment change message.

type SegmentKeyDTO

type SegmentKeyDTO struct {
	Name         string `json:"name"`
	LastModified int64  `json:"lastModified"`
	Removed      bool   `json:"removed"`
}

SegmentKeyDTO maps key data

type SplitChangesDTO

type SplitChangesDTO struct {
	Till   int64      `json:"till"`
	Since  int64      `json:"since"`
	Splits []SplitDTO `json:"splits"`
}

SplitChangesDTO structure to map JSON message sent by Split servers.

type SplitDTO

type SplitDTO struct {
	ChangeNumber          int64             `json:"changeNumber"`
	TrafficTypeName       string            `json:"trafficTypeName"`
	Name                  string            `json:"name"`
	TrafficAllocation     int               `json:"trafficAllocation"`
	TrafficAllocationSeed int64             `json:"trafficAllocationSeed"`
	Seed                  int64             `json:"seed"`
	Status                string            `json:"status"`
	Killed                bool              `json:"killed"`
	DefaultTreatment      string            `json:"defaultTreatment"`
	Algo                  int               `json:"algo"`
	Conditions            []ConditionDTO    `json:"conditions"`
	Configurations        map[string]string `json:"configurations"`
}

SplitDTO structure to map an Split definition fetched from JSON message.

func (SplitDTO) MarshalBinary

func (s SplitDTO) MarshalBinary() (data []byte, err error)

MarshalBinary exports SplitDTO to JSON string

type Stats

type Stats struct {
	LastSynchronizations *LastSynchronization `json:"lS,omitempty"`
	MethodLatencies      *MethodLatencies     `json:"mL,omitempty"`
	MethodExceptions     *MethodExceptions    `json:"mE,omitempty"`
	HTTPErrors           *HTTPErrors          `json:"hE,omitempty"`
	HTTPLatencies        *HTTPLatencies       `json:"hL,omitempty"`
	TokenRefreshes       int64                `json:"tR,omitempty"`
	AuthRejections       int64                `json:"aR,omitempty"`
	ImpressionsQueued    int64                `json:"iQ,omitempty"`
	ImpressionsDeduped   int64                `json:"iDe,omitempty"`
	ImpressionsDropped   int64                `json:"iDr,omitempty"`
	SplitCount           int64                `json:"spC,omitempty"`
	SegmentCount         int64                `json:"seC,omitempty"`
	SegmentKeyCount      int64                `json:"skC,omitempty"`
	SessionLengthMs      int64                `json:"sL,omitempty"`
	EventsQueued         int64                `json:"eQ,omitempty"`
	EventsDropped        int64                `json:"eD,omitempty"`
	StreamingEvents      []StreamingEvent     `json:"sE,omitempty"`
	Tags                 []string             `json:"t,omitempty"`
}

Stats data sent by sdks pereiodically

type StreamingEvent

type StreamingEvent struct {
	Type      int   `json:"e,omitempty"`
	Data      int64 `json:"d,omitempty"`
	Timestamp int64 `json:"t,omitempty"`
}

StreamingEvent struct

type TelemetryQueueObject

type TelemetryQueueObject struct {
	Metadata Metadata `json:"m"`
	Config   Config   `json:"t"`
}

TelemetryQueueObject struct mapping telemetry

type Token

type Token struct {
	Token       string `json:"token"`
	PushEnabled bool   `json:"pushEnabled"`
}

Token dto

func (*Token) CalculateNextTokenExpiration

func (t *Token) CalculateNextTokenExpiration() (time.Duration, error)

CalculateNextTokenExpiration calculates next token expiration

func (*Token) ChannelList

func (t *Token) ChannelList() ([]string, error)

ChannelList grabs the channel list from capabilities

type TokenPayload

type TokenPayload struct {
	Capabilitites string `json:"x-ably-capability"`
	Exp           int64  `json:"exp"`
	Iat           int64  `json:"iat"`
}

TokenPayload payload dto

type URLOverrides

type URLOverrides struct {
	Sdk       bool `json:"s,omitempty"`
	Events    bool `json:"e,omitempty"`
	Auth      bool `json:"a,omitempty"`
	Stream    bool `json:"st,omitempty"`
	Telemetry bool `json:"t,omitempty"`
}

URLOverrides struct

type UnaryNumericMatcherDataDTO

type UnaryNumericMatcherDataDTO struct {
	DataType string `json:"dataType"` //NUMBER or DATETIME
	Value    int64  `json:"value"`
}

UnaryNumericMatcherDataDTO structure to map a Matcher definition fetched from JSON message.

type UserDefinedSegmentMatcherDataDTO

type UserDefinedSegmentMatcherDataDTO struct {
	SegmentName string `json:"segmentName"`
}

UserDefinedSegmentMatcherDataDTO structure to map a Matcher definition fetched from JSON message.

type WhitelistMatcherDataDTO

type WhitelistMatcherDataDTO struct {
	Whitelist []string `json:"whitelist"`
}

WhitelistMatcherDataDTO structure to map a Matcher definition fetched from JSON message.

Jump to

Keyboard shortcuts

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