• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang protocol.IndexMessage类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/calmh/syncthing/protocol.IndexMessage的典型用法代码示例。如果您正苦于以下问题:Golang IndexMessage类的具体用法?Golang IndexMessage怎么用?Golang IndexMessage使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了IndexMessage类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: loadIndex

func (m *Model) loadIndex(repo string, dir string) []protocol.FileInfo {
	id := fmt.Sprintf("%x", sha1.Sum([]byte(m.repoDirs[repo])))
	name := id + ".idx.gz"
	name = filepath.Join(dir, name)

	idxf, err := os.Open(name)
	if err != nil {
		return nil
	}
	defer idxf.Close()

	gzr, err := gzip.NewReader(idxf)
	if err != nil {
		return nil
	}
	defer gzr.Close()

	var im protocol.IndexMessage
	err = im.DecodeXDR(gzr)
	if err != nil || im.Repository != repo {
		return nil
	}

	return im.Files
}
开发者ID:nbrownus,项目名称:syncthing,代码行数:25,代码来源:model.go


示例2: main

func main() {
	log.SetFlags(0)
	log.SetOutput(os.Stdout)

	showBlocks := flag.Bool("b", false, "Show blocks")
	flag.Parse()
	name := flag.Arg(0)

	idxf, err := os.Open(name)
	if err != nil {
		log.Fatal(err)
	}
	defer idxf.Close()

	gzr, err := gzip.NewReader(idxf)
	if err != nil {
		log.Fatal(err)
	}
	defer gzr.Close()

	var im protocol.IndexMessage
	err = im.DecodeXDR(gzr)
	if err != nil {
		log.Fatal(err)
	}

	log.Printf("Repo: %q, Files: %d", im.Repository, len(im.Files))
	for _, file := range im.Files {
		del := file.Flags&protocol.FlagDeleted != 0
		inv := file.Flags&protocol.FlagInvalid != 0
		dir := file.Flags&protocol.FlagDirectory != 0
		prm := file.Flags & 0777
		log.Printf("File: %q, Ver:%d, Del: %v, Inv: %v, Dir: %v, Perm: 0%03o, Modified: %d, Blocks: %d",
			file.Name, file.Version, del, inv, dir, prm, file.Modified, len(file.Blocks))
		if *showBlocks {
			for _, block := range file.Blocks {
				log.Printf("   Size: %6d, Hash: %x", block.Size, block.Hash)
			}
		}
	}
}
开发者ID:BillTheBest,项目名称:syncthing,代码行数:41,代码来源:main.go


示例3: loadIndex

func loadIndex(m *Model) {
	name := m.RepoID() + ".idx.gz"
	idxf, err := os.Open(path.Join(confDir, name))
	if err != nil {
		return
	}
	defer idxf.Close()

	gzr, err := gzip.NewReader(idxf)
	if err != nil {
		return
	}
	defer gzr.Close()

	var im protocol.IndexMessage
	err = im.DecodeXDR(gzr)
	if err != nil || im.Repository != "local" {
		return
	}
	m.SeedLocal(im.Files)
}
开发者ID:ngpestelos,项目名称:syncthing,代码行数:21,代码来源:main.go



注:本文中的github.com/calmh/syncthing/protocol.IndexMessage类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang protocol.NodeID类代码示例发布时间:2022-05-24
下一篇:
Golang protocol.FileInfo类代码示例发布时间:2022-05-24
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap