+++ /dev/null
-package main
-
-import (
- "fmt"
- "io"
- "math/rand"
- "time"
-
- "github.com/ipfs/go-ipfs-api"
-
- u "github.com/ipfs/go-ipfs-util"
-)
-
-var sh *shell.Shell
-var ncalls int
-
-var _ = time.ANSIC
-
-func sleep() {
- ncalls++
- //time.Sleep(time.Millisecond * 5)
-}
-
-func randString() string {
- alpha := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
- l := rand.Intn(10) + 2
-
- var s string
- for i := 0; i < l; i++ {
- s += string([]byte{alpha[rand.Intn(len(alpha))]})
- }
- return s
-}
-
-func makeRandomObject() (string, error) {
- // do some math to make a size
- x := rand.Intn(120) + 1
- y := rand.Intn(120) + 1
- z := rand.Intn(120) + 1
- size := x * y * z
-
- r := io.LimitReader(u.NewTimeSeededRand(), int64(size))
- sleep()
- return sh.Add(r)
-}
-
-func makeRandomDir(depth int) (string, error) {
- if depth <= 0 {
- return makeRandomObject()
- }
- sleep()
- empty, err := sh.NewObject("unixfs-dir")
- if err != nil {
- return "", err
- }
-
- curdir := empty
- for i := 0; i < rand.Intn(8)+2; i++ {
- var obj string
- if rand.Intn(2) == 1 {
- obj, err = makeRandomObject()
- if err != nil {
- return "", err
- }
- } else {
- obj, err = makeRandomDir(depth - 1)
- if err != nil {
- return "", err
- }
- }
-
- name := randString()
- sleep()
- nobj, err := sh.PatchLink(curdir, name, obj, true)
- if err != nil {
- return "", err
- }
- curdir = nobj
- }
-
- return curdir, nil
-}
-
-func main() {
- sh = shell.NewShell("localhost:5001")
- for i := 0; i < 200; i++ {
- _, err := makeRandomObject()
- if err != nil {
- fmt.Println("err: ", err)
- return
- }
- }
- fmt.Println("we're okay")
-
- out, err := makeRandomDir(10)
- fmt.Printf("%d calls\n", ncalls)
- if err != nil {
- fmt.Println(err)
- return
- }
-
- fmt.Println(out)
- for {
- time.Sleep(time.Second * 1000)
- }
-}