本文整理匯總了Golang中github.com/cilium/cilium/pkg/endpoint.Endpoint.String方法的典型用法代碼示例。如果您正苦於以下問題:Golang Endpoint.String方法的具體用法?Golang Endpoint.String怎麽用?Golang Endpoint.String使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cilium/cilium/pkg/endpoint.Endpoint
的用法示例。
在下文中一共展示了Endpoint.String方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: regenerateEndpoint
func (d *Daemon) regenerateEndpoint(ep *endpoint.Endpoint) error {
// This is the temporary directory to store the generated headers,
// the original existing directory is not overwritten until all
// generation has succeeded.
origDir := filepath.Join(".", strconv.Itoa(int(ep.ID)))
tmpDir := origDir + "_update"
backupDir := origDir + "_backup"
if err := d.regenerateBPF(ep, tmpDir); err != nil {
return err
}
// Attempt to move the original endpoint directory to a backup location
if err := os.Rename(origDir, backupDir); err != nil {
os.RemoveAll(tmpDir)
return fmt.Errorf("Unable to create backup of endpoint directory: %s", err)
}
// Move new endpoint directory in place, upon failure, restore backup
if err := os.Rename(tmpDir, origDir); err != nil {
os.RemoveAll(tmpDir)
if err2 := os.Rename(backupDir, origDir); err2 != nil {
log.Warningf("Restoring the backup directory for %s for endpoint "+
"%s did not succeed, the endpoint is now in an inconsistent state",
backupDir, ep.String())
return err2
}
return fmt.Errorf("Restored original endpoint directory, atomic replace failed: %s", err)
}
os.RemoveAll(backupDir)
log.Infof("Successfully regenerated program for endpoint %s", ep.String())
return nil
}