gregor1

package
v0.0.0-...-401de7c Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2023 License: BSD-3-Clause, BSD-3-Clause Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AuthInternalProtocol

func AuthInternalProtocol(i AuthInternalInterface) rpc.Protocol

func AuthProtocol

func AuthProtocol(i AuthInterface) rpc.Protocol

func AuthUpdateProtocol

func AuthUpdateProtocol(i AuthUpdateInterface) rpc.Protocol

func CommonProtocol

func CommonProtocol(i CommonInterface) rpc.Protocol

func FormatTime

func FormatTime(t Time) string

func FromTime

func FromTime(t Time) time.Time

func IncomingProtocol

func IncomingProtocol(i IncomingInterface) rpc.Protocol

func OutgoingProtocol

func OutgoingProtocol(i OutgoingInterface) rpc.Protocol

func RemindProtocol

func RemindProtocol(i RemindInterface) rpc.Protocol

func UIDListContains

func UIDListContains(list []UID, x UID) bool

Types

type AuthClient

type AuthClient struct {
	Cli rpc.GenericClient
}

func (AuthClient) AuthenticateSessionToken

func (c AuthClient) AuthenticateSessionToken(ctx context.Context, session SessionToken) (res AuthResult, err error)

type AuthInterface

type AuthInterface interface {
	AuthenticateSessionToken(context.Context, SessionToken) (AuthResult, error)
}

type AuthInternalClient

type AuthInternalClient struct {
	Cli rpc.GenericClient
}

func (AuthInternalClient) CreateGregorSuperUserSessionToken

func (c AuthInternalClient) CreateGregorSuperUserSessionToken(ctx context.Context) (res SessionToken, err error)

type AuthInternalInterface

type AuthInternalInterface interface {
	CreateGregorSuperUserSessionToken(context.Context) (SessionToken, error)
}

type AuthResult

type AuthResult struct {
	Uid      UID       `codec:"uid" json:"uid"`
	Username string    `codec:"username" json:"username"`
	Sid      SessionID `codec:"sid" json:"sid"`
	IsAdmin  bool      `codec:"isAdmin" json:"isAdmin"`
}

func (AuthResult) DeepCopy

func (o AuthResult) DeepCopy() AuthResult

type AuthUpdateClient

type AuthUpdateClient struct {
	Cli rpc.GenericClient
}

func (AuthUpdateClient) RevokeSessionIDs

func (c AuthUpdateClient) RevokeSessionIDs(ctx context.Context, sessionIDs []SessionID) (err error)

type AuthUpdateInterface

type AuthUpdateInterface interface {
	RevokeSessionIDs(context.Context, []SessionID) error
}

type AuthenticateSessionTokenArg

type AuthenticateSessionTokenArg struct {
	Session SessionToken `codec:"session" json:"session"`
}

type Body

type Body []byte

func (Body) Bytes

func (b Body) Bytes() []byte

func (Body) DeepCopy

func (o Body) DeepCopy() Body

type BroadcastMessageArg

type BroadcastMessageArg struct {
	M Message `codec:"m" json:"m"`
}

type Category

type Category string

func (Category) DeepCopy

func (o Category) DeepCopy() Category

func (Category) Eq

func (c Category) Eq(c2 Category) bool

func (Category) HasPrefix

func (c Category) HasPrefix(c2 Category) bool

func (Category) String

func (c Category) String() string

type CommonClient

type CommonClient struct {
	Cli rpc.GenericClient
}

type CommonInterface

type CommonInterface interface {
}

type ConnectedDevice

type ConnectedDevice struct {
	DeviceID       DeviceID `codec:"deviceID" json:"deviceID"`
	DeviceType     string   `codec:"deviceType" json:"deviceType"`
	DevicePlatform string   `codec:"devicePlatform" json:"devicePlatform"`
	UserAgent      string   `codec:"userAgent" json:"userAgent"`
}

DescribeConnectedUsers will take a list of users, and return the list of users which are connected to any Gregor in the cluster, and what devices (and device type) those users are connected with.

func (ConnectedDevice) DeepCopy

func (o ConnectedDevice) DeepCopy() ConnectedDevice

type ConnectedUser

type ConnectedUser struct {
	Uid     UID               `codec:"uid" json:"uid"`
	Devices []ConnectedDevice `codec:"devices" json:"devices"`
}

func (ConnectedUser) DeepCopy

func (o ConnectedUser) DeepCopy() ConnectedUser

type ConsumeMessageArg

type ConsumeMessageArg struct {
	M Message `codec:"m" json:"m"`
}

type ConsumeMessageMultiArg

type ConsumeMessageMultiArg struct {
	Msg  Message `codec:"msg" json:"msg"`
	Uids []UID   `codec:"uids" json:"uids"`
}

type ConsumePublishMessageArg

type ConsumePublishMessageArg struct {
	M Message `codec:"m" json:"m"`
}

type CreateGregorSuperUserSessionTokenArg

type CreateGregorSuperUserSessionTokenArg struct {
}

type DeleteRemindersArg

type DeleteRemindersArg struct {
	ReminderIDs []ReminderID `codec:"reminderIDs" json:"reminderIDs"`
}

type DescribeConnectedUsersArg

type DescribeConnectedUsersArg struct {
	Uids []UID `codec:"uids" json:"uids"`
}

type DescribeConnectedUsersInternalArg

type DescribeConnectedUsersInternalArg struct {
	Uids []UID `codec:"uids" json:"uids"`
}

type DeviceID

type DeviceID []byte

func (DeviceID) Bytes

func (d DeviceID) Bytes() []byte

func (DeviceID) DeepCopy

func (o DeviceID) DeepCopy() DeviceID

func (DeviceID) Eq

func (d DeviceID) Eq(other DeviceID) bool

func (DeviceID) String

func (d DeviceID) String() string

type Dismissal

type Dismissal struct {
	MsgIDs_ []MsgID    `codec:"msgIDs" json:"msgIDs"`
	Ranges_ []MsgRange `codec:"ranges" json:"ranges"`
}

func (Dismissal) DeepCopy

func (o Dismissal) DeepCopy() Dismissal

func (Dismissal) MsgIDsToDismiss

func (d Dismissal) MsgIDsToDismiss() []gregor.MsgID

func (Dismissal) RangesToDismiss

func (d Dismissal) RangesToDismiss() []gregor.MsgRange

type DurationMsec

type DurationMsec int64

func ToDurationMsec

func ToDurationMsec(d time.Duration) DurationMsec

func (DurationMsec) DeepCopy

func (o DurationMsec) DeepCopy() DurationMsec

type DurationSec

type DurationSec int64

func ToDurationSec

func ToDurationSec(d time.Duration) DurationSec

func (DurationSec) DeepCopy

func (o DurationSec) DeepCopy() DurationSec

type GetRemindersArg

type GetRemindersArg struct {
	MaxReminders int `codec:"maxReminders" json:"maxReminders"`
}

type InBandMessage

type InBandMessage struct {
	StateUpdate_ *StateUpdateMessage `codec:"stateUpdate,omitempty" json:"stateUpdate,omitempty"`
	StateSync_   *StateSyncMessage   `codec:"stateSync,omitempty" json:"stateSync,omitempty"`
}

func (InBandMessage) DeepCopy

func (o InBandMessage) DeepCopy() InBandMessage

func (InBandMessage) Merge

func (InBandMessage) Metadata

func (i InBandMessage) Metadata() gregor.Metadata

func (InBandMessage) ToStateSyncMessage

func (i InBandMessage) ToStateSyncMessage() gregor.StateSyncMessage

func (InBandMessage) ToStateUpdateMessage

func (i InBandMessage) ToStateUpdateMessage() gregor.StateUpdateMessage

type IncomingClient

type IncomingClient struct {
	Cli rpc.GenericClient
}

func (IncomingClient) ConsumeMessage

func (c IncomingClient) ConsumeMessage(ctx context.Context, m Message) (err error)

func (IncomingClient) ConsumeMessageMulti

func (c IncomingClient) ConsumeMessageMulti(ctx context.Context, __arg ConsumeMessageMultiArg) (err error)

consumeMessageMulti will take msg and consume it for all the users listed in uids. This is so a gregor client can send the same message to many UIDs with one call, as opposed to calling consumeMessage for each UID.

func (IncomingClient) ConsumePublishMessage

func (c IncomingClient) ConsumePublishMessage(ctx context.Context, m Message) (err error)

func (IncomingClient) DescribeConnectedUsers

func (c IncomingClient) DescribeConnectedUsers(ctx context.Context, uids []UID) (res []ConnectedUser, err error)

func (IncomingClient) DescribeConnectedUsersInternal

func (c IncomingClient) DescribeConnectedUsersInternal(ctx context.Context, uids []UID) (res []ConnectedUser, err error)

func (IncomingClient) Ping

func (c IncomingClient) Ping(ctx context.Context) (res string, err error)

func (IncomingClient) State

func (c IncomingClient) State(ctx context.Context, __arg StateArg) (res State, err error)

func (IncomingClient) StateByCategoryPrefix

func (c IncomingClient) StateByCategoryPrefix(ctx context.Context, __arg StateByCategoryPrefixArg) (res State, err error)

StateByCategoryPrefix loads the messages of the user's state whose categories are prefixed by the given prefix

func (IncomingClient) Sync

func (c IncomingClient) Sync(ctx context.Context, __arg SyncArg) (res SyncResult, err error)

func (IncomingClient) Version

func (c IncomingClient) Version(ctx context.Context, uid UID) (res string, err error)

type IncomingInterface

type IncomingInterface interface {
	Sync(context.Context, SyncArg) (SyncResult, error)
	ConsumeMessage(context.Context, Message) error
	ConsumePublishMessage(context.Context, Message) error
	// consumeMessageMulti will take msg and consume it for all the users listed
	// in uids. This is so a gregor client can send the same message to many UIDs
	// with one call, as opposed to calling consumeMessage for each UID.
	ConsumeMessageMulti(context.Context, ConsumeMessageMultiArg) error
	Ping(context.Context) (string, error)
	Version(context.Context, UID) (string, error)
	State(context.Context, StateArg) (State, error)
	// StateByCategoryPrefix loads the messages of the user's state whose
	// categories are prefixed by the given prefix
	StateByCategoryPrefix(context.Context, StateByCategoryPrefixArg) (State, error)
	DescribeConnectedUsers(context.Context, []UID) ([]ConnectedUser, error)
	DescribeConnectedUsersInternal(context.Context, []UID) ([]ConnectedUser, error)
}

type Item

type Item struct {
	Category_    Category       `codec:"category" json:"category"`
	Dtime_       TimeOrOffset   `codec:"dtime" json:"dtime"`
	RemindTimes_ []TimeOrOffset `codec:"remindTimes" json:"remindTimes"`
	Body_        Body           `codec:"body" json:"body"`
}

func (Item) DeepCopy

func (o Item) DeepCopy() Item

type ItemAndMetadata

type ItemAndMetadata struct {
	Md_   *Metadata `codec:"md,omitempty" json:"md,omitempty"`
	Item_ *Item     `codec:"item,omitempty" json:"item,omitempty"`
}

func (ItemAndMetadata) Body

func (i ItemAndMetadata) Body() gregor.Body

func (ItemAndMetadata) Category

func (i ItemAndMetadata) Category() gregor.Category

func (ItemAndMetadata) DTime

func (ItemAndMetadata) DeepCopy

func (o ItemAndMetadata) DeepCopy() ItemAndMetadata

func (ItemAndMetadata) HasCategoryPrefix

func (i ItemAndMetadata) HasCategoryPrefix(c Category) bool

func (ItemAndMetadata) InCategory

func (i ItemAndMetadata) InCategory(c Category) bool

func (ItemAndMetadata) Metadata

func (i ItemAndMetadata) Metadata() gregor.Metadata

func (ItemAndMetadata) RemindTimes

func (i ItemAndMetadata) RemindTimes() []gregor.TimeOrOffset

func (ItemAndMetadata) String

func (i ItemAndMetadata) String() string

type Message

type Message struct {
	Oobm_ *OutOfBandMessage `codec:"oobm,omitempty" json:"oobm,omitempty"`
	Ibm_  *InBandMessage    `codec:"ibm,omitempty" json:"ibm,omitempty"`
}

func (Message) DeepCopy

func (o Message) DeepCopy() Message

func (Message) Marshal

func (m Message) Marshal() ([]byte, error)

func (*Message) SetCTime

func (m *Message) SetCTime(ctime time.Time)

func (*Message) SetUID

func (m *Message) SetUID(uid UID) error

func (Message) ToInBandMessage

func (m Message) ToInBandMessage() gregor.InBandMessage

func (Message) ToOutOfBandMessage

func (m Message) ToOutOfBandMessage() gregor.OutOfBandMessage

type Metadata

type Metadata struct {
	Uid_           UID      `codec:"uid" json:"uid"`
	MsgID_         MsgID    `codec:"msgID" json:"msgID"`
	Ctime_         Time     `codec:"ctime" json:"ctime"`
	DeviceID_      DeviceID `codec:"deviceID" json:"deviceID"`
	InBandMsgType_ int      `codec:"inBandMsgType" json:"inBandMsgType"`
}

func (Metadata) CTime

func (m Metadata) CTime() time.Time

func (Metadata) DeepCopy

func (o Metadata) DeepCopy() Metadata

func (Metadata) DeviceID

func (m Metadata) DeviceID() gregor.DeviceID

func (Metadata) InBandMsgType

func (m Metadata) InBandMsgType() gregor.InBandMsgType

func (Metadata) MsgID

func (m Metadata) MsgID() gregor.MsgID

func (Metadata) String

func (m Metadata) String() string

func (Metadata) UID

func (m Metadata) UID() gregor.UID

type MsgID

type MsgID []byte

func (MsgID) Bytes

func (m MsgID) Bytes() []byte

func (MsgID) DeepCopy

func (o MsgID) DeepCopy() MsgID

func (MsgID) Eq

func (m MsgID) Eq(n MsgID) bool

func (MsgID) String

func (m MsgID) String() string

type MsgRange

type MsgRange struct {
	EndTime_    TimeOrOffset `codec:"endTime" json:"endTime"`
	Category_   Category     `codec:"category" json:"category"`
	SkipMsgIDs_ []MsgID      `codec:"skipMsgIDs" json:"skipMsgIDs"`
}

func (MsgRange) Category

func (m MsgRange) Category() gregor.Category

func (MsgRange) DeepCopy

func (o MsgRange) DeepCopy() MsgRange

func (MsgRange) EndTime

func (m MsgRange) EndTime() gregor.TimeOrOffset

func (MsgRange) SkipMsgIDs

func (m MsgRange) SkipMsgIDs() (res []gregor.MsgID)

type ObjFactory

type ObjFactory struct{}

func (ObjFactory) MakeBody

func (o ObjFactory) MakeBody(b []byte) (gregor.Body, error)

func (ObjFactory) MakeCategory

func (o ObjFactory) MakeCategory(s string) (gregor.Category, error)

func (ObjFactory) MakeDeviceID

func (o ObjFactory) MakeDeviceID(b []byte) (gregor.DeviceID, error)

func (ObjFactory) MakeDismissalByIDs

func (o ObjFactory) MakeDismissalByIDs(uid gregor.UID, msgid gregor.MsgID, devid gregor.DeviceID, ctime time.Time, ids []gregor.MsgID) (gregor.InBandMessage, error)

func (ObjFactory) MakeDismissalByRange

func (o ObjFactory) MakeDismissalByRange(uid gregor.UID, msgid gregor.MsgID, devid gregor.DeviceID, ctime time.Time, c gregor.Category, d time.Time, skipMsgIDs []gregor.MsgID) (gregor.InBandMessage, error)

func (ObjFactory) MakeInBandMessageFromItem

func (o ObjFactory) MakeInBandMessageFromItem(i gregor.Item) (gregor.InBandMessage, error)

func (ObjFactory) MakeItem

func (o ObjFactory) MakeItem(u gregor.UID, msgid gregor.MsgID, deviceid gregor.DeviceID, ctime time.Time, c gregor.Category, dtime *time.Time, body gregor.Body) (gregor.Item, error)

func (ObjFactory) MakeMessageFromInBandMessage

func (o ObjFactory) MakeMessageFromInBandMessage(i gregor.InBandMessage) (gregor.Message, error)

func (ObjFactory) MakeMetadata

func (o ObjFactory) MakeMetadata(uid gregor.UID, msgid gregor.MsgID, devid gregor.DeviceID, ctime time.Time, i gregor.InBandMsgType) (gregor.Metadata, error)

func (ObjFactory) MakeMsgID

func (o ObjFactory) MakeMsgID(b []byte) (gregor.MsgID, error)

func (ObjFactory) MakeOutOfBandMessage

func (o ObjFactory) MakeOutOfBandMessage(uid gregor.UID, system gregor.System, body gregor.Body) gregor.Message

func (ObjFactory) MakeReminder

func (o ObjFactory) MakeReminder(i gregor.Item, seqno int, t time.Time) (gregor.Reminder, error)

func (ObjFactory) MakeReminderID

func (o ObjFactory) MakeReminderID(u gregor.UID, msgid gregor.MsgID, seqno int) (gregor.ReminderID, error)

func (ObjFactory) MakeReminderSetFromReminders

func (o ObjFactory) MakeReminderSetFromReminders(reminders []gregor.Reminder, moreRemindersReady bool) (gregor.ReminderSet, error)

func (ObjFactory) MakeState

func (o ObjFactory) MakeState(items []gregor.Item) (gregor.State, error)

func (ObjFactory) MakeStateSyncMessage

func (o ObjFactory) MakeStateSyncMessage(uid gregor.UID, msgid gregor.MsgID, devid gregor.DeviceID, ctime time.Time) (gregor.InBandMessage, error)

func (ObjFactory) MakeStateWithLookupTable

func (o ObjFactory) MakeStateWithLookupTable(items []gregor.Item, table map[string]gregor.Item) (gregor.State, error)

func (ObjFactory) MakeSystem

func (o ObjFactory) MakeSystem(s string) (gregor.System, error)

func (ObjFactory) MakeTimeOrOffsetFromOffset

func (o ObjFactory) MakeTimeOrOffsetFromOffset(d time.Duration) (gregor.TimeOrOffset, error)

func (ObjFactory) MakeTimeOrOffsetFromTime

func (o ObjFactory) MakeTimeOrOffsetFromTime(t time.Time) (gregor.TimeOrOffset, error)

func (ObjFactory) MakeUID

func (o ObjFactory) MakeUID(b []byte) (gregor.UID, error)

func (ObjFactory) UnmarshalMessage

func (o ObjFactory) UnmarshalMessage(b []byte) (gregor.Message, error)

func (ObjFactory) UnmarshalState

func (o ObjFactory) UnmarshalState(b []byte) (gregor.State, error)

type OutOfBandMessage

type OutOfBandMessage struct {
	Uid_    UID    `codec:"uid" json:"uid"`
	System_ System `codec:"system" json:"system"`
	Body_   Body   `codec:"body" json:"body"`
}

func (OutOfBandMessage) Body

func (o OutOfBandMessage) Body() gregor.Body

func (OutOfBandMessage) DeepCopy

func (o OutOfBandMessage) DeepCopy() OutOfBandMessage

func (OutOfBandMessage) System

func (o OutOfBandMessage) System() gregor.System

func (OutOfBandMessage) UID

func (o OutOfBandMessage) UID() gregor.UID

type OutgoingClient

type OutgoingClient struct {
	Cli rpc.GenericClient
}

func (OutgoingClient) BroadcastMessage

func (c OutgoingClient) BroadcastMessage(ctx context.Context, m Message) (err error)

type OutgoingInterface

type OutgoingInterface interface {
	BroadcastMessage(context.Context, Message) error
}

type PingArg

type PingArg struct {
}

type RemindClient

type RemindClient struct {
	Cli rpc.GenericClient
}

func (RemindClient) DeleteReminders

func (c RemindClient) DeleteReminders(ctx context.Context, reminderIDs []ReminderID) (err error)

deleteReminders deletes all of the reminders by ReminderID

func (RemindClient) GetReminders

func (c RemindClient) GetReminders(ctx context.Context, maxReminders int) (res ReminderSet, err error)

getReminders gets the reminders waiting to be sent out as a batch. Get at most maxReminders back.

type RemindInterface

type RemindInterface interface {
	// getReminders gets the reminders waiting to be sent out as a batch. Get at most
	// maxReminders back.
	GetReminders(context.Context, int) (ReminderSet, error)
	// deleteReminders deletes all of the reminders by ReminderID
	DeleteReminders(context.Context, []ReminderID) error
}

type Reminder

type Reminder struct {
	Item_       ItemAndMetadata `codec:"item" json:"item"`
	Seqno_      int             `codec:"seqno" json:"seqno"`
	RemindTime_ Time            `codec:"remindTime" json:"remindTime"`
}

func (Reminder) DeepCopy

func (o Reminder) DeepCopy() Reminder

func (Reminder) Item

func (r Reminder) Item() gregor.Item

func (Reminder) RemindTime

func (r Reminder) RemindTime() time.Time

func (Reminder) Seqno

func (r Reminder) Seqno() int

type ReminderID

type ReminderID struct {
	Uid_   UID   `codec:"uid" json:"uid"`
	MsgID_ MsgID `codec:"msgID" json:"msgID"`
	Seqno_ int   `codec:"seqno" json:"seqno"`
}

func (ReminderID) DeepCopy

func (o ReminderID) DeepCopy() ReminderID

func (ReminderID) MsgID

func (r ReminderID) MsgID() gregor.MsgID

func (ReminderID) Seqno

func (r ReminderID) Seqno() int

func (ReminderID) UID

func (r ReminderID) UID() gregor.UID

type ReminderSet

type ReminderSet struct {
	Reminders_          []Reminder `codec:"reminders" json:"reminders"`
	MoreRemindersReady_ bool       `codec:"moreRemindersReady" json:"moreRemindersReady"`
}

func (ReminderSet) DeepCopy

func (o ReminderSet) DeepCopy() ReminderSet

func (ReminderSet) MoreRemindersReady

func (r ReminderSet) MoreRemindersReady() bool

func (ReminderSet) Reminders

func (r ReminderSet) Reminders() []gregor.Reminder

type RevokeSessionIDsArg

type RevokeSessionIDsArg struct {
	SessionIDs []SessionID `codec:"sessionIDs" json:"sessionIDs"`
}

type SessionID

type SessionID string

func (SessionID) DeepCopy

func (o SessionID) DeepCopy() SessionID

type SessionToken

type SessionToken string

func (SessionToken) DeepCopy

func (o SessionToken) DeepCopy() SessionToken

type State

type State struct {
	Items_ []ItemAndMetadata `codec:"items" json:"items"`
}

func (State) DeepCopy

func (o State) DeepCopy() State

func (State) Export

func (s State) Export() (gregor.ProtocolState, error)

func (State) GetItem

func (s State) GetItem(msgID gregor.MsgID) (gregor.Item, bool)

func (State) Hash

func (s State) Hash() ([]byte, error)

func (State) Items

func (s State) Items() ([]gregor.Item, error)

func (State) ItemsInCategory

func (s State) ItemsInCategory(gc gregor.Category) ([]gregor.Item, error)

func (State) ItemsWithCategoryPrefix

func (s State) ItemsWithCategoryPrefix(gc gregor.Category) ([]gregor.Item, error)

func (State) Marshal

func (s State) Marshal() ([]byte, error)

func (State) ProtocolName

func (s State) ProtocolName() string

type StateArg

type StateArg struct {
	Uid          UID          `codec:"uid" json:"uid"`
	Deviceid     DeviceID     `codec:"deviceid" json:"deviceid"`
	TimeOrOffset TimeOrOffset `codec:"timeOrOffset" json:"timeOrOffset"`
}

type StateByCategoryPrefixArg

type StateByCategoryPrefixArg struct {
	Uid            UID          `codec:"uid" json:"uid"`
	Deviceid       DeviceID     `codec:"deviceid" json:"deviceid"`
	TimeOrOffset   TimeOrOffset `codec:"timeOrOffset" json:"timeOrOffset"`
	CategoryPrefix Category     `codec:"categoryPrefix" json:"categoryPrefix"`
}

type StateSyncMessage

type StateSyncMessage struct {
	Md_ Metadata `codec:"md" json:"md"`
}

func (StateSyncMessage) DeepCopy

func (o StateSyncMessage) DeepCopy() StateSyncMessage

func (StateSyncMessage) Metadata

func (s StateSyncMessage) Metadata() gregor.Metadata

type StateUpdateMessage

type StateUpdateMessage struct {
	Md_        Metadata   `codec:"md" json:"md"`
	Creation_  *Item      `codec:"creation,omitempty" json:"creation,omitempty"`
	Dismissal_ *Dismissal `codec:"dismissal,omitempty" json:"dismissal,omitempty"`
}

func (StateUpdateMessage) Creation

func (s StateUpdateMessage) Creation() gregor.Item

func (StateUpdateMessage) DeepCopy

func (StateUpdateMessage) Dismissal

func (s StateUpdateMessage) Dismissal() gregor.Dismissal

func (StateUpdateMessage) Merge

func (StateUpdateMessage) Metadata

func (s StateUpdateMessage) Metadata() gregor.Metadata

type SyncArg

type SyncArg struct {
	Uid      UID      `codec:"uid" json:"uid"`
	Deviceid DeviceID `codec:"deviceid" json:"deviceid"`
	Ctime    Time     `codec:"ctime" json:"ctime"`
}

func (SyncArg) CTime

func (s SyncArg) CTime() time.Time

func (SyncArg) DeviceID

func (s SyncArg) DeviceID() gregor.DeviceID

DeviceID returns the deviceID in a SyncArc, or interface nil (and not gregor1.DeviceID(nil)) if not was specified.

func (SyncArg) UID

func (s SyncArg) UID() gregor.UID

UID returns the UID in a SyncArc, or interface nil (and not gregor1.UID(nil)) if not was specified.

type SyncResult

type SyncResult struct {
	Msgs []InBandMessage `codec:"msgs" json:"msgs"`
	Hash []byte          `codec:"hash" json:"hash"`
}

func (SyncResult) DeepCopy

func (o SyncResult) DeepCopy() SyncResult

type System

type System string

func (System) DeepCopy

func (o System) DeepCopy() System

func (System) String

func (s System) String() string

type Time

type Time int64

func TimeFromMilliseconds

func TimeFromMilliseconds(ms int64) Time

func TimeFromSeconds

func TimeFromSeconds(seconds int64) Time

func ToTime

func ToTime(t time.Time) Time

copied from keybase/client/go/protocol/extras.go. Consider eventually a refactor to allow this code to be shared.

func (Time) After

func (t Time) After(t2 Time) bool

func (Time) Before

func (t Time) Before(t2 Time) bool

func (Time) DeepCopy

func (o Time) DeepCopy() Time

func (Time) IsZero

func (t Time) IsZero() bool

func (Time) Time

func (t Time) Time() time.Time

func (Time) UnixMicroseconds

func (t Time) UnixMicroseconds() int64

func (Time) UnixMilliseconds

func (t Time) UnixMilliseconds() int64

func (Time) UnixSeconds

func (t Time) UnixSeconds() int64

type TimeOrOffset

type TimeOrOffset struct {
	Time_   Time         `codec:"time" json:"time"`
	Offset_ DurationMsec `codec:"offset" json:"offset"`
}

func (TimeOrOffset) Before

func (t TimeOrOffset) Before(t2 time.Time) bool

func (TimeOrOffset) DeepCopy

func (o TimeOrOffset) DeepCopy() TimeOrOffset

func (TimeOrOffset) IsZero

func (t TimeOrOffset) IsZero() bool

func (TimeOrOffset) Offset

func (t TimeOrOffset) Offset() *time.Duration

func (TimeOrOffset) Time

func (t TimeOrOffset) Time() *time.Time

type UID

type UID []byte

func UIDListMerge

func UIDListMerge(list1 []UID, list2 []UID) []UID

Merge two lists of UIDs. Duplicates will be dropped. Not stably ordered.

func (UID) Bytes

func (u UID) Bytes() []byte

func (UID) DeepCopy

func (o UID) DeepCopy() UID

func (UID) Eq

func (u UID) Eq(other UID) bool

func (UID) String

func (u UID) String() string

type VersionArg

type VersionArg struct {
	Uid UID `codec:"uid" json:"uid"`
}

Jump to

Keyboard shortcuts

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