func Deliver(user uint64, msg []byte) {
	userDir := GetUserDir(user)
	tmpName := writeTmp(msg)
	initID := machine.RandomUint64()
	for id := initID; ; {
		ok := filesys.Link(SpoolDir, tmpName,
			userDir, "msg"+machine.UInt64ToString(id))
		if ok {
			break
		} else {
			newID := machine.RandomUint64()
			id = newID
			continue
		}
	}
	filesys.Delete(SpoolDir, tmpName)
}
// Deliver stores a new message.
// Does not require holding the per-user pickup/delete lock.
Deliver stores a new message.
Does not require holding the per-user pickup/delete lock.
// Deliver stores a new message . // Does not require holding the per - user pickup / delete lock .
func Deliver(user uint64, msg []byte) {
	userDir := GetUserDir(user)
	tmpName := writeTmp(msg)
	initID := machine.RandomUint64()
	for id := initID; ; {
		ok := filesys.Link(SpoolDir, tmpName,
			userDir, "msg"+machine.UInt64ToString(id))
		if ok {
			break
		} else {
			newID := machine.RandomUint64()
			id = newID
			continue
		}
	}
	filesys.Delete(SpoolDir, tmpName)
}
func Deliver ( user uint64 , msg [ ] byte ) { userDir := GetUserDir ( user ) tmpName := writeTmp ( msg ) initID := machine . RandomUint64 ( ) for id := initID ; ; { ok := filesys . Link ( SpoolDir , tmpName , userDir , " " + machine . UInt64ToString ( id ) ) if ok { break } else { newID := machine . RandomUint64 ( ) id = newID continue } } filesys . Delete ( SpoolDir , tmpName ) }
Deliver stores a new message.
Deliver stores a new message .