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


Golang tribrpc.DeleteTribbleReply類代碼示例

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


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

示例1: DeleteTribble

func (ts *tribServer) DeleteTribble(args *tribrpc.DeleteTribbleArgs, reply *tribrpc.DeleteTribbleReply) error {
	key := util.FormatUserKey(args.UserID)
	post_key := args.PostKey

	if !ts.checkIfKnown(key) {
		reply.Status = tribrpc.NoSuchUser
	} else if !ts.checkIfKnown(post_key) {
		reply.Status = tribrpc.NoSuchPost
	} else {
		err := ts.storage.Delete(post_key)
		if err != nil {
			return err
		}

		triblist_key := util.FormatTribListKey(args.UserID)
		err = ts.storage.RemoveFromList(triblist_key, post_key)
		if err != nil {
			return err
		}

		reply.Status = tribrpc.OK

	}
	return nil
}
開發者ID:jbuckman,項目名稱:p2-440,代碼行數:25,代碼來源:tribserver_impl.go

示例2: DeleteTribble

func (ts *tribServer) DeleteTribble(args *tribrpc.DeleteTribbleArgs, reply *tribrpc.DeleteTribbleReply) error {
	userkey := util.FormatUserKey(args.UserID)
	_, userErr := ts.libstore.Get(userkey)
	if userErr != nil {
		reply.Status = tribrpc.NoSuchUser
	} else {

		delErr := ts.libstore.Delete(args.PostKey)
		if delErr != nil {
			reply.Status = tribrpc.NoSuchPost
			return nil
		}

		tribkey := util.FormatTribListKey(args.UserID)
		delListErr := ts.libstore.RemoveFromList(tribkey, args.PostKey)
		if delListErr != nil {
			reply.Status = tribrpc.NoSuchPost
			return nil
		}

		reply.Status = tribrpc.OK

	}
	return nil
}
開發者ID:wentianqi7,項目名稱:15640-distributed-systems,代碼行數:25,代碼來源:tribserver_impl.go

示例3: DeleteTribble

func (ts *tribServer) DeleteTribble(args *tribrpc.DeleteTribbleArgs, reply *tribrpc.DeleteTribbleReply) error {
	if args == nil {
		return errors.New("ts: Can't delete nil")
	}
	if reply == nil {
		return errors.New("ts: Can't reply with nil in Delete")
	}

	_, err := ts.ls.Get(util.FormatUserKey(args.UserID))
	if err != nil {
		reply.Status = tribrpc.NoSuchUser
		return nil
	}

	err = ts.ls.RemoveFromList(util.FormatTribListKey(args.UserID), args.PostKey)
	if err != nil {
		reply.Status = tribrpc.NoSuchPost
		return nil
	}
	if ts.ls.Delete(args.PostKey) != nil {
		reply.Status = tribrpc.NoSuchPost
		return errors.New("Fatal, failed to delete a key")
	}

	reply.Status = tribrpc.OK
	return nil
}
開發者ID:iedwardwangi,項目名稱:Tribbler,代碼行數:27,代碼來源:tribserver_impl.go

示例4: DeleteTribble

func (ts *tribServer) DeleteTribble(args *tribrpc.DeleteTribbleArgs, reply *tribrpc.DeleteTribbleReply) error {
	user_id := util.FormatUserKey(args.UserID)

	// If the user_id doesn't exist
	// Reture NoSuchUser
	_, err := ts.lib_store.Get(user_id)
	if err != nil {
		reply.Status = tribrpc.NoSuchUser
		return nil
	}

	user_trib_list_key := util.FormatTribListKey(args.UserID)
	err = ts.lib_store.RemoveFromList(user_trib_list_key, args.PostKey)
	if err != nil {
		reply.Status = tribrpc.NoSuchPost
		fmt.Println(2)
		return nil
	}

	err = ts.lib_store.Delete(args.PostKey)
	if err != nil {
		reply.Status = tribrpc.NoSuchPost
		return nil
	}

	reply.Status = tribrpc.OK
	return nil
}
開發者ID:mallocanswer,項目名稱:Tribbler,代碼行數:28,代碼來源:tribserver_impl.go

示例5: DeleteTribble

func (ts *tribServer) DeleteTribble(args *tribrpc.DeleteTribbleArgs, reply *tribrpc.DeleteTribbleReply) error {
	if ts.userExist(args.UserID) == false {
		reply.Status = tribrpc.NoSuchUser
		return nil
	}
	reply.Status = tribrpc.OK
	err := ts.ls.Delete(args.PostKey)
	if err != nil {
		reply.Status = tribrpc.NoSuchPost
	}
	err = ts.ls.RemoveFromList(util.FormatTribListKey(args.UserID), args.PostKey)
	if err != nil {
		reply.Status = tribrpc.NoSuchPost
	}
	return nil
}
開發者ID:thuhujin,項目名稱:Tribbler,代碼行數:16,代碼來源:tribserver_impl.go

示例6: DeleteTribble

func (ts *tribServer) DeleteTribble(args *tribrpc.DeleteTribbleArgs, reply *tribrpc.DeleteTribbleReply) error {
	userkey := util.FormatUserKey(args.UserID)

	// Make sure user exists
	if _, eu := ts.ls.Get(userkey); eu != nil {
		reply.Status = tribrpc.NoSuchUser
		return nil
	}

	postkey := args.PostKey

	// Make sure the Tribble exists
	if err := ts.ls.Delete(postkey); err != nil {
		reply.Status = tribrpc.NoSuchPost
		return nil
	}
	// Make sure the Tribble is in this user's list
	if err := ts.ls.RemoveFromList(util.FormatTribListKey(args.UserID), postkey); err != nil {
		reply.Status = tribrpc.NoSuchPost
		return nil
	}
	reply.Status = tribrpc.OK
	return nil
}
開發者ID:pyurky,項目名稱:p2,代碼行數:24,代碼來源:tribserver_impl.go

示例7: DeleteTribble

func (ts *tribServer) DeleteTribble(args *tribrpc.DeleteTribbleArgs, reply *tribrpc.DeleteTribbleReply) error {
	if DBG {
		fmt.Println("-----> Delete(), postKey: ", args.PostKey)
	}

	var usrID string = args.UserID
	var postKey string = args.PostKey

	if DBG {
		fmt.Println("Delete(), postKey: ", postKey)
	}
	//check if user present in server
	_, err := ts.libStore.Get(util.FormatUserKey(usrID))

	if err != nil {
		switch err.Error() {
		case WRONG_SERVER:
			fmt.Println("ERROR: WRONG SERVER in tribserver")
			return errors.New("Wrong server contacted!")

		case KEY_NOT_FOUND:
			reply.Status = tribrpc.NoSuchUser
			return nil

		default:
			fmt.Println("ERROR in tribserver: wrong error message received")
		}

	}

	//check if postKey is stored
	_, err = ts.libStore.Get(postKey)

	if err != nil {
		switch err.Error() {
		case WRONG_SERVER:
			fmt.Println("ERROR: WRONG SERVER in tribserver")
			return errors.New("Wrong server contacted!")

		case KEY_NOT_FOUND:
			reply.Status = tribrpc.NoSuchPost
			return nil

		default:
			fmt.Println("ERROR in tribserver: wrong error message received")
			return nil
		}
	}

	errDelPost := ts.libStore.Delete(postKey)
	errDelKey :=
		ts.libStore.RemoveFromList(util.FormatTribListKey(usrID), postKey)

	if errDelPost != nil {
		fmt.Println("Error deleting post")
		return nil
	}

	if errDelKey != nil {
		fmt.Println("Error removing key from list")
		return nil
	}

	reply.Status = tribrpc.OK
	return nil
}
開發者ID:aditij1,項目名稱:p2aditijakkamat,代碼行數:66,代碼來源:tribserver_impl.go


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