Versions in this module Expand all Collapse all v1 v1.0.1 Dec 12, 2024 Changes in this version + const KEY_LENGTH_BYTES + const OSL_FILENAME_FORMAT + const REGISTRY_FILENAME + func GetOSLFileURL(baseURL string, oslID []byte) string + func GetOSLFilename(baseDirectory string, oslID []byte) string + func GetOSLRegistryFilename(baseDirectory string) string + func GetOSLRegistryURL(baseURL string) string + func NewOSLReader(oslFileContent io.ReadSeeker, fileSpec *OSLFileSpec, lookup SLOKLookup, ...) (io.Reader, error) + type ClientSeedPortForward struct + func (portForward *ClientSeedPortForward) UpdateProgress(bytesRead, bytesWritten, durationNanoseconds int64) + type ClientSeedProgress struct + type ClientSeedState struct + func (state *ClientSeedState) ClearSeedPayload() + func (state *ClientSeedState) GetSeedPayload() *SeedPayload + func (state *ClientSeedState) Hibernate() + func (state *ClientSeedState) NewClientSeedPortForward(upstreamIPAddress net.IP, lookupASN func(net.IP) string) *ClientSeedPortForward + func (state *ClientSeedState) Resume(signalIssueSLOKs chan struct{}) + type Config struct + Schemes []*Scheme + func LoadConfig(configJSON []byte) (*Config, error) + func NewConfig(filename string) (*Config, error) + func (config *Config) CurrentOSLIDs(schemeIndex int) (map[string]string, error) + func (config *Config) NewClientSeedState(clientRegion, propagationChannelID string, signalIssueSLOKs chan struct{}) *ClientSeedState + func (config *Config) Pave(startTime time.Time, endTime time.Time, propagationChannelID string, ...) ([]*PaveFile, error) + type KeyShares struct + BoxedShares [][]byte + KeyShares []*KeyShares + SLOKIDs [][]byte + Threshold int + type KeySplit struct + Threshold int + Total int + type OSLFileSpec struct + ID []byte + KeyShares *KeyShares + MD5Sum []byte + type PaveFile struct + Contents []byte + Name string + type PaveLogInfo struct + FileName string + OSLDuration time.Duration + OSLID string + OSLTime time.Time + PropagationChannelID string + SchemeIndex int + ServerEntryCount int + type Registry struct + FileSpecs []*OSLFileSpec + type RegistryStreamer struct + func NewRegistryStreamer(registryFileContent io.ReadSeeker, signingPublicKey string, lookup SLOKLookup) (*RegistryStreamer, error) + func (s *RegistryStreamer) Next() (*OSLFileSpec, error) + type SLOK struct + ID []byte + Key []byte + type SLOKLookup func([]byte) []byte + type Scheme struct + Epoch string + MasterKey []byte + PropagationChannelIDs []string + Regions []string + SeedPeriodKeySplits []KeySplit + SeedPeriodNanoseconds int64 + SeedSpecThreshold int + SeedSpecs []*SeedSpec + func (scheme *Scheme) GetOSLDuration() time.Duration + type SeedPayload struct + SLOKs []*SLOK + type SeedSpec struct + Description string + ID []byte + Targets TrafficValues + UpstreamASNs []string + UpstreamSubnets []string + type TrafficValues struct + BytesRead int64 + BytesWritten int64 + PortForwardDurationNanoseconds int64