當前位置: 首頁>>代碼示例>>Golang>>正文


Golang paxosrpc.GetValueReply類代碼示例

本文整理匯總了Golang中github.com/cmu440-F15/paxosapp/rpc/paxosrpc.GetValueReply的典型用法代碼示例。如果您正苦於以下問題:Golang GetValueReply類的具體用法?Golang GetValueReply怎麽用?Golang GetValueReply使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了GetValueReply類的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: GetValue

func (pn *paxosNode) GetValue(args *paxosrpc.GetValueArgs, reply *paxosrpc.GetValueReply) error {
	key := args.Key
	if value, found := pn.store[key]; found {
		reply.Status = paxosrpc.KeyFound
		reply.V = value
	} else {
		reply.Status = paxosrpc.KeyNotFound
	}
	return nil
}
開發者ID:bwoka,項目名稱:p3,代碼行數:10,代碼來源:paxos_impl.go

示例2: GetValue

// It will check whether the key is in the storage
// If so, return the value and set status as KeyFound
// If not, set status as Key Not Found
func (pn *paxosNode) GetValue(args *paxosrpc.GetValueArgs, reply *paxosrpc.GetValueReply) error {
	recvKey := args.Key
	pn.storage.storageLock.Lock()
	defer pn.storage.storageLock.Unlock()
	if value, ok := pn.storage.storage[recvKey]; ok {
		reply.Status = paxosrpc.KeyFound
		reply.V = value
	} else {
		reply.Status = paxosrpc.KeyNotFound
		fmt.Println("[GETVALUE] Key Not Found")
	}
	return nil
}
開發者ID:mallocanswer,項目名稱:Draw-Together,代碼行數:16,代碼來源:paxos_impl.go

示例3: GetValue

func (pn *paxosNode) GetValue(args *paxosrpc.GetValueArgs, reply *paxosrpc.GetValueReply) error {
	pn.nodeMutex.Lock()
	defer pn.nodeMutex.Unlock()

	val, ok := pn.valueMap[args.Key]
	if !ok {
		reply.Status = paxosrpc.KeyNotFound
	} else {
		reply.Status = paxosrpc.KeyFound
		reply.V = val
	}
	return nil
}
開發者ID:wentianqi7,項目名稱:15640-distributed-systems,代碼行數:13,代碼來源:paxos_impl.go

示例4: GetValue

func (pn *paxosNode) GetValue(args *paxosrpc.GetValueArgs, reply *paxosrpc.GetValueReply) error {
	// fmt.Println("Get value begins, numNodes:", pn.numNodes)
	tempValue, ok := pn.keyValue[args.Key]
	if !ok {
		fmt.Println("Keynotfound")
		reply.Status = paxosrpc.KeyNotFound
		reply.V = nil
		return nil
	}
	reply.V = tempValue.Value
	reply.Status = paxosrpc.KeyFound
	return nil
}
開發者ID:thuhujin,項目名稱:Paxos,代碼行數:13,代碼來源:paxos_impl.go

示例5: GetValue

func (pn *paxosNode) GetValue(args *paxosrpc.GetValueArgs, reply *paxosrpc.GetValueReply) error {
	// i think eventually this needs to be a survey of all the nodes, but for now, just taking
	// local values
	pn.storageMutex.Lock()
	defer pn.storageMutex.Unlock()
	val, ok := pn.storage[args.Key]
	if ok {
		reply.Status = paxosrpc.KeyFound
		reply.V = val
	} else {
		reply.Status = paxosrpc.KeyNotFound
	}
	return nil
}
開發者ID:jbuckman,項目名稱:p3-440,代碼行數:14,代碼來源:paxos_impl.go

示例6: GetValue

// GetValue looks up the value for a key, and replies with the value or with
// the Status KeyNotFound.
func (pn *paxosNode) GetValue(args *paxosrpc.GetValueArgs, reply *paxosrpc.GetValueReply) error {
	key := args.Key
	pxi := pn.getInstance(key)
	pxi.storeLock.RLock()
	defer pxi.storeLock.RUnlock()
	value := pxi.CommittedVal
	if value == nil {
		reply.Status = paxosrpc.KeyNotFound
		reply.V = nil
	} else {
		reply.Status = paxosrpc.KeyFound
		reply.V = value
	}

	return nil
}
開發者ID:harouwu,項目名稱:p3,代碼行數:18,代碼來源:paxos_impl.go

示例7: GetValue

// return the value
func (pn *paxosNode) GetValue(args *paxosrpc.GetValueArgs, reply *paxosrpc.GetValueReply) error {
	reply.V = pn.valueMap[args.Key]
	return nil
}
開發者ID:YuchengZ,項目名稱:CodingSample,代碼行數:5,代碼來源:paxos_impl.go


注:本文中的github.com/cmu440-F15/paxosapp/rpc/paxosrpc.GetValueReply類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。