当前位置: 首页>>代码示例>>Golang>>正文


Golang Server.Context方法代码示例

本文整理汇总了Golang中github.com/goraft/raft.Server.Context方法的典型用法代码示例。如果您正苦于以下问题:Golang Server.Context方法的具体用法?Golang Server.Context怎么用?Golang Server.Context使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/goraft/raft.Server的用法示例。


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

示例1: Apply

func (dcmd *delCommand) Apply(server raft.Server) (interface{}, error) {
	if server.Name() == server.Leader() {
		return nil, nil
	}
	kvs := server.Context().(KVstore)
	err := kvs.Delete(dcmd.Key)
	return nil, err
}
开发者ID:lilwulin,项目名称:raftkv,代码行数:8,代码来源:commands.go

示例2: Apply

func (c *AddCallbackCommand) Apply(server raft.Server) (interface{}, error) {
	reg := server.Context().(registry.Registry)
	err := reg.AddCallback(c.Service, c.Callback)
	if err == nil {
		log.Println("Added Callback:", c.Service, c.Callback)
	}
	return c.Service, err
}
开发者ID:nettedfish,项目名称:skydns1,代码行数:8,代码来源:command.go

示例3: Apply

//???
func (c *MaxVolumeIdCommand) Apply(server raft.Server) (interface{}, error) {
	topo := server.Context().(*Topology)
	before := topo.GetMaxVolumeId()
	topo.UpAdjustMaxVolumeId(c.MaxVolumeId)

	glog.V(4).Infoln("max volume id", before, "==>", topo.GetMaxVolumeId())

	return nil, nil
}
开发者ID:shenlanzifa,项目名称:weed-fs,代码行数:10,代码来源:cluster_commands.go

示例4: Apply

// Writes a value to a key.
func (c *QueryCommand) Apply(server raft.Server) (interface{}, error) {
	db := server.Context().(*sql.SQL)

	output, err := db.CacheExec(c.Create, c.Name, c.FriendCount, c.FavoriteWord)
	if err != nil {
		return nil, err
	}

	formatted := fmt.Sprintf("SequenceNumber: %d\n%s", output.SequenceNumber, output.Output)

	return []byte(formatted), nil
}
开发者ID:kratorius,项目名称:stripe-ctf3,代码行数:13,代码来源:sqlquery_command.go

示例5: Apply

func (c *CreateShardsCommand) Apply(server raft.Server) (interface{}, error) {
	config := server.Context().(*cluster.ClusterConfiguration)
	createdShards, err := config.AddShards(c.Shards)
	if err != nil {
		return nil, err
	}
	createdShardData := make([]*cluster.NewShardData, 0)
	for _, s := range createdShards {
		createdShardData = append(createdShardData, s.ToNewShardData())
	}
	return createdShardData, nil
}
开发者ID:hanshenu,项目名称:influxdb,代码行数:12,代码来源:command.go

示例6: Apply

func (c *SaveSubscriptionCommand) Apply(server raft.Server) (interface{}, error) {
	config := server.Context().(*cluster.ClusterConfiguration)
	createdSubscription, err := config.AddSubscription(c.Subscription)
	fmt.Println("we are here in command.go's Apply function")
	if err != nil {
		return nil, err
	}
	//createdSubscriptionData := make(*cluster.Subscription, 0)
	//for _, s := range createdSubscription {
	//createdSubscriptionData = append(createdSubscriptionData, s.ToNewSubscriptionData())
	//}
	//return createdSubscriptionData, nil
	return createdSubscription, nil
	return nil, nil
}
开发者ID:rabdureh,项目名称:influx-attempt,代码行数:15,代码来源:command.go

示例7: Apply

// Execute an SQL statement
func (c *WriteCommand) Apply(server raft.Server) (interface{}, error) {
	sql := server.Context().(*sql.SQL)
	job := sql.Execute(c.Query)

	go func() {
		output := []byte(<-job.OutChan)
		seq := job.Seq

		formatted := fmt.Sprintf("SequenceNumber: %d\n%s",
			seq, output)

		sql.Respond(c.Id, []byte(formatted))
	}()

	return []byte(""), nil
}
开发者ID:henrik-muehe,项目名称:level4,代码行数:17,代码来源:command.go

示例8: Apply

// Writes a value to a key.
func (c *BatchCommand) Apply(server raft.Server) (interface{}, error) {
	//log.Printf(("Applying Batch Size: %v", len(c.Queries))
	db := server.Context().(*DB)

	for _, output := range db.ExecuteBatch(c.Queries) {
		db.notify <- output
	}

	// for _, query := range c.Queries {
	// 	output, err := db.Execute(*query)

	// 	if err != nil {
	// 		log.Fatal("Error applying command")
	// 		return nil, err
	// 	}

	// 	db.notify <- output

	// }
	return nil, nil
}
开发者ID:rrjamie,项目名称:stripe-ctf-level4,代码行数:22,代码来源:server.go

示例9: Apply

// Writes a value to a key.
func (c *SqlCommand) Apply(server raft.Server) (interface{}, error) {
	db := server.Context().(*sql.SQL)
	output, err := db.Execute("tehrafts", inflate(c.Query))

	if err != nil {
		var msg string
		if output != nil && len(output.Stderr) > 0 {
			template := `Error executing %#v (%s)

SQLite error: %s`
			msg = fmt.Sprintf(template, c.Query, err.Error(), util.FmtOutput(output.Stderr))
		} else {
			msg = err.Error()
		}

		return nil, errors.New(msg)
	}

	formatted := fmt.Sprintf("SequenceNumber: %d\n%s",
		output.SequenceNumber, output.Stdout)
	return []byte(formatted), nil
}
开发者ID:jstanley0,项目名称:stripe-ctf-3,代码行数:23,代码来源:sql_command.go

示例10: Apply

func (c *WriteCommand) Apply(server raft.Server) (interface{}, error) {
	db := server.Context().(*DB)
	db.Put(c.Key, c.Value)
	return nil, nil
}
开发者ID:upccup,项目名称:cuplearn,代码行数:5,代码来源:command.go

示例11: Apply

func (c *UpdateServerStateCommand) Apply(server raft.Server) (interface{}, error) {
	config := server.Context().(*ClusterConfiguration)
	err := config.UpdateServerState(c.ServerId, c.State)
	return nil, err
}
开发者ID:ronaldevers,项目名称:influxdb,代码行数:5,代码来源:command.go

示例12: Apply

func (c *AddPotentialServerCommand) Apply(server raft.Server) (interface{}, error) {
	config := server.Context().(*cluster.ClusterConfiguration)
	config.AddPotentialServer(c.Server)
	return nil, nil
}
开发者ID:qz267,项目名称:influxdb,代码行数:5,代码来源:command.go

示例13: Apply

// Writes a value to a key.
func (c *SetCommand) Apply(server raft.Server) (interface{}, error) {
	fs := server.Context().(*db.Fs)

	return fs.Apply(c.Key, c.Value, c.Verb, c.Oper)
}
开发者ID:izouxv,项目名称:raftX,代码行数:6,代码来源:update_command.go

示例14: Apply

// Writes a value to a key.
func (c *RemoveTmpDataCommand) Apply(server raft.Server) (interface{}, error) {
	fs := server.Context().(*db.Fs)
	//log.Printf("RemoveTempDataIp: %v\n", c.Key)
	fs.RemoveTempData(c.Key)
	return nil, nil
}
开发者ID:izouxv,项目名称:raftX,代码行数:7,代码来源:remove_tmp_data_command.go


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