本文整理汇总了Golang中euphoria/io/heim/proto.Agent类的典型用法代码示例。如果您正苦于以下问题:Golang Agent类的具体用法?Golang Agent怎么用?Golang Agent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Agent类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: newAgentCredentials
func newAgentCredentials(agent *proto.Agent, agentKey *security.ManagedKey) (*agentCredentials, error) {
if agentKey.Encrypted() {
return nil, security.ErrKeyMustBeDecrypted
}
ac := &agentCredentials{
ID: agent.IDString(),
Key: agentKey.Plaintext,
}
return ac, nil
}
示例2: Register
func (atb *AgentTrackerBinding) Register(ctx scope.Context, agent *proto.Agent) error {
row := &Agent{
ID: agent.IDString(),
IV: agent.IV,
MAC: agent.MAC,
Created: agent.Created,
}
if agent.EncryptedClientKey != nil {
row.EncryptedClientKey = agent.EncryptedClientKey.Ciphertext
}
if err := atb.Backend.DbMap.Insert(row); err != nil {
if strings.HasPrefix(err.Error(), "pq: duplicate key value") {
return proto.ErrAgentAlreadyExists
}
return err
}
backend.Logger(ctx).Printf("registered agent %s", agent.IDString())
return nil
}
示例3: Register
func (t *agentTracker) Register(ctx scope.Context, agent *proto.Agent) error {
t.b.Lock()
defer t.b.Unlock()
if _, ok := t.b.agents[agent.IDString()]; ok {
return proto.ErrAgentAlreadyExists
}
if t.b.agents == nil {
t.b.agents = map[string]*proto.Agent{agent.IDString(): agent}
} else {
t.b.agents[agent.IDString()] = agent
}
return nil
}