Skip to content
This repository has been archived by the owner on Dec 6, 2022. It is now read-only.

Graph Agnostic #18

Closed
Stebalien opened this issue Oct 31, 2018 · 6 comments
Closed

Graph Agnostic #18

Stebalien opened this issue Oct 31, 2018 · 6 comments

Comments

@Stebalien
Copy link

So, it would be kind of nice if we could treat links as truly transparent. Basically, in London, we discussed the fact that paths don't care about link boundaries so, really, our datastructures shouldn't either.

Now, the primary downsides are:

  1. We need to replace CIDs with paths. That is, we need to support path-links in addition to CID links.
  2. Not all files would have CIDs.

However, giving every file and it's own CID is already a bit of a performance nightmare and we cant feasibly announce every CID to the network so we already need to start talking about files with paths instead of just CIDs.

@magik6k
Copy link

magik6k commented Nov 1, 2018

Why not use inline CIDs for this?

@mikeal
Copy link
Contributor

mikeal commented Nov 1, 2018

Can you give an example of a change to the current draft specs that this would change?

@Stebalien
Copy link
Author

Why not use inline CIDs for this?

We may want to inline "large" things. Technically, we can put these in CIDs but, really, we should never expose massive CIDs to users.

Can you give an example of a change to the current draft specs that this would change?

This one: #13. That is, it wouldn't require that the second entry be a link.

@mikeal
Copy link
Contributor

mikeal commented Nov 1, 2018

This one: #13. That is, it wouldn't require that the second entry be a link.

Just trying to make sure we're on the same page. By "second entry" you mean

[
  [ [0, 1024], Link /* <-- second entry */ ],
  [ [1025, 1002], Link ]
]

Are you proposing that this second entry be a path or simply that the raw binary would be in-lined instead of being a link? I'm struggling to figure out what a path would point to.

@Stebalien
Copy link
Author

Just trying to make sure we're on the same page. By "second entry" you mean

Yes.

Are you proposing that this second entry be a path or simply that the raw binary would be in-lined instead of being a link?

Both? But they're two different issues.

  1. We can currently only point to CIDs, not paths. This makes it difficult to point into existing objects. It would be nice (although not necessary) to be able to point to blocks within an existing file. On the other hand, this really is a separate issue.
  2. Under this proposal, Unixfs would expect either (a) raw binary (b) a sharded blob (using your "file data representation" spec) or (c) a link to either.

@rvagg
Copy link
Member

rvagg commented Dec 6, 2022

closing for archival

@rvagg rvagg closed this as completed Dec 6, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants