Documentation ¶
Index ¶
- func AuthInternalProtocol(i AuthInternalInterface) rpc.Protocol
- func AuthProtocol(i AuthInterface) rpc.Protocol
- func AuthUpdateProtocol(i AuthUpdateInterface) rpc.Protocol
- func CommonProtocol(i CommonInterface) rpc.Protocol
- func FormatTime(t Time) string
- func FromTime(t Time) time.Time
- func IncomingProtocol(i IncomingInterface) rpc.Protocol
- func OutgoingProtocol(i OutgoingInterface) rpc.Protocol
- func RemindProtocol(i RemindInterface) rpc.Protocol
- func UIDListContains(list []UID, x UID) bool
- type AuthClient
- type AuthInterface
- type AuthInternalClient
- type AuthInternalInterface
- type AuthResult
- type AuthUpdateClient
- type AuthUpdateInterface
- type AuthenticateSessionTokenArg
- type Body
- type BroadcastMessageArg
- type Category
- type CommonClient
- type CommonInterface
- type ConsumeMessageArg
- type ConsumePublishMessageArg
- type CreateGregorSuperUserSessionTokenArg
- type DeleteRemindersArg
- type DeviceID
- type Dismissal
- type DurationMsec
- type GetRemindersArg
- type InBandMessage
- type IncomingClient
- func (c IncomingClient) ConsumeMessage(ctx context.Context, m Message) (err error)
- func (c IncomingClient) ConsumePublishMessage(ctx context.Context, m Message) (err error)
- func (c IncomingClient) Ping(ctx context.Context) (res string, err error)
- func (c IncomingClient) State(ctx context.Context, __arg StateArg) (res State, err error)
- func (c IncomingClient) StateByCategoryPrefix(ctx context.Context, __arg StateByCategoryPrefixArg) (res State, err error)
- func (c IncomingClient) Sync(ctx context.Context, __arg SyncArg) (res SyncResult, err error)
- func (c IncomingClient) Version(ctx context.Context, uid UID) (res string, err error)
- type IncomingInterface
- type Item
- type ItemAndMetadata
- func (i ItemAndMetadata) Body() gregor.Body
- func (i ItemAndMetadata) Category() gregor.Category
- func (i ItemAndMetadata) DTime() gregor.TimeOrOffset
- func (i ItemAndMetadata) HasCategoryPrefix(c Category) bool
- func (i ItemAndMetadata) InCategory(c Category) bool
- func (i ItemAndMetadata) Metadata() gregor.Metadata
- func (i ItemAndMetadata) RemindTimes() []gregor.TimeOrOffset
- func (i ItemAndMetadata) String() string
- type Message
- type Metadata
- type MsgID
- type MsgRange
- type ObjFactory
- func (o ObjFactory) MakeBody(b []byte) (gregor.Body, error)
- func (o ObjFactory) MakeCategory(s string) (gregor.Category, error)
- func (o ObjFactory) MakeDeviceID(b []byte) (gregor.DeviceID, error)
- func (o ObjFactory) MakeDismissalByIDs(uid gregor.UID, msgid gregor.MsgID, devid gregor.DeviceID, ctime time.Time, ...) (gregor.InBandMessage, error)
- func (o ObjFactory) MakeDismissalByRange(uid gregor.UID, msgid gregor.MsgID, devid gregor.DeviceID, ctime time.Time, ...) (gregor.InBandMessage, error)
- func (o ObjFactory) MakeInBandMessageFromItem(i gregor.Item) (gregor.InBandMessage, error)
- func (o ObjFactory) MakeItem(u gregor.UID, msgid gregor.MsgID, deviceid gregor.DeviceID, ctime time.Time, ...) (gregor.Item, error)
- func (o ObjFactory) MakeMessageFromInBandMessage(i gregor.InBandMessage) (gregor.Message, error)
- func (o ObjFactory) MakeMetadata(uid gregor.UID, msgid gregor.MsgID, devid gregor.DeviceID, ctime time.Time, ...) (gregor.Metadata, error)
- func (o ObjFactory) MakeMsgID(b []byte) (gregor.MsgID, error)
- func (o ObjFactory) MakeOutOfBandMessage(uid gregor.UID, system gregor.System, body gregor.Body) gregor.Message
- func (o ObjFactory) MakeReminder(i gregor.Item, seqno int, t time.Time) (gregor.Reminder, error)
- func (o ObjFactory) MakeReminderID(u gregor.UID, msgid gregor.MsgID, seqno int) (gregor.ReminderID, error)
- func (o ObjFactory) MakeReminderSetFromReminders(reminders []gregor.Reminder, moreRemindersReady bool) (gregor.ReminderSet, error)
- func (o ObjFactory) MakeState(items []gregor.Item) (gregor.State, error)
- func (o ObjFactory) MakeStateSyncMessage(uid gregor.UID, msgid gregor.MsgID, devid gregor.DeviceID, ctime time.Time) (gregor.InBandMessage, error)
- func (o ObjFactory) MakeStateWithLookupTable(items []gregor.Item, table map[string]gregor.Item) (gregor.State, error)
- func (o ObjFactory) MakeSystem(s string) (gregor.System, error)
- func (o ObjFactory) MakeTimeOrOffsetFromOffset(d time.Duration) (gregor.TimeOrOffset, error)
- func (o ObjFactory) MakeTimeOrOffsetFromTime(t time.Time) (gregor.TimeOrOffset, error)
- func (o ObjFactory) MakeUID(b []byte) (gregor.UID, error)
- func (o ObjFactory) UnmarshalState(b []byte) (gregor.State, error)
- type OutOfBandMessage
- type OutgoingClient
- type OutgoingInterface
- type PingArg
- type RemindClient
- type RemindInterface
- type Reminder
- type ReminderID
- type ReminderSet
- type RevokeSessionIDsArg
- type SessionID
- type SessionToken
- type State
- func (s State) Export() (gregor.ProtocolState, error)
- func (s State) GetItem(msgID gregor.MsgID) (gregor.Item, bool)
- func (s State) Hash() ([]byte, error)
- func (s State) Items() ([]gregor.Item, error)
- func (s State) ItemsInCategory(gc gregor.Category) ([]gregor.Item, error)
- func (s State) ItemsWithCategoryPrefix(gc gregor.Category) ([]gregor.Item, error)
- func (s State) Marshal() ([]byte, error)
- func (s State) ProtocolName() string
- type StateArg
- type StateByCategoryPrefixArg
- type StateSyncMessage
- type StateUpdateMessage
- type SyncArg
- type SyncResult
- type System
- type Time
- type TimeOrOffset
- type UID
- type VersionArg
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 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 ¶ added in v1.0.19
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 AuthUpdateClient ¶
type AuthUpdateClient struct {
Cli rpc.GenericClient
}
func (AuthUpdateClient) RevokeSessionIDs ¶
func (c AuthUpdateClient) RevokeSessionIDs(ctx context.Context, sessionIDs []SessionID) (err error)
type AuthUpdateInterface ¶
type AuthenticateSessionTokenArg ¶
type AuthenticateSessionTokenArg struct {
Session SessionToken `codec:"session" json:"session"`
}
type BroadcastMessageArg ¶
type BroadcastMessageArg struct {
M Message `codec:"m" json:"m"`
}
type CommonClient ¶
type CommonClient struct {
Cli rpc.GenericClient
}
type CommonInterface ¶
type CommonInterface interface { }
type ConsumeMessageArg ¶
type ConsumeMessageArg struct {
M Message `codec:"m" json:"m"`
}
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 Dismissal ¶
type Dismissal struct { MsgIDs_ []MsgID `codec:"msgIDs" json:"msgIDs"` Ranges_ []MsgRange `codec:"ranges" json:"ranges"` }
func (Dismissal) MsgIDsToDismiss ¶
func (Dismissal) RangesToDismiss ¶
type DurationMsec ¶
type DurationMsec int64
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) Merge ¶
func (i InBandMessage) Merge(i2 gregor.InBandMessage) error
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) ConsumePublishMessage ¶
func (c IncomingClient) ConsumePublishMessage(ctx context.Context, m Message) (err error)
func (IncomingClient) Ping ¶
func (c IncomingClient) Ping(ctx context.Context) (res string, 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)
type IncomingInterface ¶
type IncomingInterface interface { Sync(context.Context, SyncArg) (SyncResult, error) ConsumeMessage(context.Context, Message) error ConsumePublishMessage(context.Context, Message) 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) }
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"` }
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 (i ItemAndMetadata) DTime() gregor.TimeOrOffset
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) 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) InBandMsgType ¶
func (m Metadata) InBandMsgType() gregor.InBandMsgType
type MsgRange ¶
type MsgRange struct { EndTime_ TimeOrOffset `codec:"endTime" json:"endTime"` Category_ Category `codec:"category" json:"category"` }
func (MsgRange) EndTime ¶
func (m MsgRange) EndTime() gregor.TimeOrOffset
type ObjFactory ¶
type ObjFactory struct{}
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 (ObjFactory) MakeDismissalByRange ¶
func (ObjFactory) MakeInBandMessageFromItem ¶
func (o ObjFactory) MakeInBandMessageFromItem(i gregor.Item) (gregor.InBandMessage, error)
func (ObjFactory) MakeMessageFromInBandMessage ¶
func (o ObjFactory) MakeMessageFromInBandMessage(i gregor.InBandMessage) (gregor.Message, error)
func (ObjFactory) MakeMetadata ¶
func (ObjFactory) MakeOutOfBandMessage ¶
func (ObjFactory) MakeReminder ¶
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) MakeStateSyncMessage ¶
func (ObjFactory) MakeStateWithLookupTable ¶
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) 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) 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 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) RemindTime ¶
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) 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) 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 SessionToken ¶
type SessionToken string
type State ¶
type State struct {
Items_ []ItemAndMetadata `codec:"items" json:"items"`
}
func (State) ItemsInCategory ¶
func (State) ItemsWithCategoryPrefix ¶
func (State) ProtocolName ¶
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) 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) Dismissal ¶
func (s StateUpdateMessage) Dismissal() gregor.Dismissal
func (StateUpdateMessage) Merge ¶
func (s StateUpdateMessage) Merge(s2 *StateUpdateMessage) error
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"` }
type SyncResult ¶
type SyncResult struct { Msgs []InBandMessage `codec:"msgs" json:"msgs"` Hash []byte `codec:"hash" json:"hash"` }
type Time ¶
type Time int64
func TimeFromSeconds ¶
func ToTime ¶
copied from keybase/client/go/protocol/extras.go. Consider eventually a refactor to allow this code to be shared.
func (Time) UnixMicroseconds ¶
func (Time) UnixMilliseconds ¶
func (Time) UnixSeconds ¶
type TimeOrOffset ¶
type TimeOrOffset struct { Time_ Time `codec:"time" json:"time"` Offset_ DurationMsec `codec:"offset" json:"offset"` }
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 ¶ added in v1.0.19
Merge two lists of UIDs. Duplicates will be dropped. Not stably ordered.
type VersionArg ¶
type VersionArg struct {
Uid UID `codec:"uid" json:"uid"`
}
Click to show internal directories.
Click to hide internal directories.