<alterego>
Also, the prefered indentation method is tab in go-ipfs?
Guest18 has quit [Ping timeout: 265 seconds]
<whyrusleeping>
yes
<whyrusleeping>
we use gofmt
<alterego>
Okay, cool.
<kevina>
whyrusleeping: you said you account is flagged, does that mean you are locked out of GitHub?
<whyrusleeping>
no
<whyrusleeping>
just means my account gets hidden from everyone for some reason
<whyrusleeping>
i think its better now?
<Kubuxu>
kevina: yeah, if you look at the coverage report it has lower than "average" coverage, but is is because the convert code is error handling heavy
<lgierth>
alterego: there's also go-udp-transport and a go-libp2p-net pr
<Kubuxu>
whyrusleeping: <3
<alterego>
I need UDP support for my corenet patch for a project I'm working on.
fleeky_ has joined #ipfs
cblgh has quit [Ping timeout: 268 seconds]
<whyrusleeping>
Kubuxu: figured you might like that
zanadar has quit [Quit: Connection closed for inactivity]
cblgh has joined #ipfs
cblgh has joined #ipfs
cblgh has quit [Changing host]
<Kubuxu>
alterego: you might be going too far if you need udp for the cornet, we don't have encryption yet for the UDP nor we do hole punching and so on
dmr has quit [Ping timeout: 240 seconds]
<alterego>
Kubuxu: yeah don't need it for that.
<Kubuxu>
make it simple for now, improve later as capabilities of go-libp2p improve
fleeky__ has quit [Ping timeout: 250 seconds]
<alterego>
Kubuxu: thought my solution was simple :D
<alterego>
And fairly isolated.
<Kubuxu>
whyrusleeping: also, there is no reason why we shouldn't have distribution for every master commits
<Kubuxu>
I don't mean official dist
<whyrusleeping>
oh, yeah
<whyrusleeping>
i want that
<Kubuxu>
but we build it either way so we can have it as build artefact
<whyrusleeping>
(as mentioned in the issue)
<alterego>
Kubuxu: the UDP support for my corenet stuff is so it can bind a UDP address to receive traffic, which then gets piped through a stream
<lgierth>
alterego: yours is much cleaner than my PR
<Kubuxu>
lgierth, alterego: join your powers
<Kubuxu>
as - nightly builds ?
<alterego>
Heh
<lgierth>
alterego: needs tests though :)
<alterego>
lgierth: Hah, okay I'll do some tests.
<alterego>
Wrestling with something in PeerHost atm
<lgierth>
in relation with udp?
<alterego>
lgierth: No, stream handler isn't being removed
<alterego>
this is corenet stuff.
ckwaldon has joined #ipfs
<lgierth>
ok -- just asking because i've been working on a packet api up to the host and swarm
<alterego>
lgierth: well, my application is this. I want to use WebRTC and I want to use IPFS instead of STUN/TURN
<lgierth>
mhh! found a good webrtc lib in go yet?
<alterego>
lgierth: This is HTML/JS
<lgierth>
aah ok word
<alterego>
lgierth: so, HTML/JS WebRTC opens up UDP port for incoming stream, likewise it sends to UDP port on remote.
<alterego>
I want to use corenet streams to stream that data, which means I need UDP on both ends of IPFS stream handlers.
<lgierth>
would a proper udp socket api in the browser be helpful?
<alterego>
lgierth: Doesn't exist :)
<lgierth>
webtorrent have been kicking around the idea of a WebUDP api and i'd love to have that for js-ipfs transports
<lgierth>
you can make a pretty good proof-of-concept relying on a browser addon though
<alterego>
Well, I want people to be able to use my application and only need a locally running ipfs node.
<lgierth>
it's slow standardization work but not out of reach i think
<alterego>
Then you can intiate a WebRTC "call" just by knowing the other node's ID
<lgierth>
yeah of course :)
<lgierth>
i'll make sure to ping you when there's something working re: webudp -- will be good to get feedback and testing
<alterego>
My actual solution is more involved than this though. So you share a "group id", this then gets pinned to all participants in that groups ipfs blockstores. My client code, running in the browser then uses findprovs to find all group participants. Gets node IDs and does this corenet stream magic to setup the WebRTC end points between every participant.
<lgierth>
findprovs provides no guarantee that it's "all" providers
<alterego>
lgierth: sure, doesn't need too. There's more magic. As long as everyone is seen by at least one other it's fine.
<lgierth>
ah ok cool then :)
<alterego>
So when you join, you connect to any of the results in findprovs, and your joining is broadcast to all active participants, etc, etc.
<alterego>
But this could be a completely distributed communications platform, without the need for any public STUN/TURN servers like google's or mozilla's which are mostly used today :)
dmr has joined #ipfs
<alterego>
Anyway, need to finish this close command to tidy up application stream handlers ..
<alterego>
So current problem is, I need to track my open manet.Listener instances. I can do this "locally" in my core/commands/corenet.go but should I place this in somewhere else, like PeerHost?
<alterego>
Where are other peer connections tracked and managed?
<alterego>
Hrm, maybe swarm has the answer ..
<lgierth>
it's in go-libp2p-peerstream
<lgierth>
which manages conns and listeners and dialers
<alterego>
Cool, thansk
PtF6- is now known as wlp1s1
tilgovi has quit [Ping timeout: 240 seconds]
PseudoNoob has quit [Remote host closed the connection]
herzmeister has quit [Quit: Leaving]
herzmeister has joined #ipfs
toXel has quit [Quit: Ping timeout (120 seconds)]
patcon has joined #ipfs
patcon has quit [Read error: Connection reset by peer]
bastianilso_____ has quit [Quit: bastianilso_____]
jager has quit [Quit: No Ping reply in 180 seconds.]
jager has joined #ipfs
maxlath has quit [Ping timeout: 250 seconds]
pcre has quit [Remote host closed the connection]
warner has quit [Read error: Connection reset by peer]
warner has joined #ipfs
<M-hash>
Kubuxu: mostly kidding. But, also, if you get most NUC models from intel, there is a limit to how *high* of a drive you can fit inside the tiny little enclosures. And I noticed that most 4t drives aren't available in that size yet when I last went shopping...
<whyrusleeping>
I saw a 4TB 2.5" ssd at frys electronics the other day
* substack
uploading 30.5G to ipfs
<substack>
landsat bands over hawaii from oct 1 2014 through feb 15 2015
<substack>
when there was an advancing lava flow going toward pāhoa
<M-hash>
yeah I have a 4t 2.5"... that's 12 mm high. Which means... it ended up strapped on top of the NUC with packing tape and awkwardly placed wires. Womp womp.
<jbenet>
substack: nice -- do we have a nice viewer for the data?
<substack>
mikola is working on one
<substack>
I also have something I was working on for preview tiles, but I'd need to do a bit more pre-processing to make the perf acceptable
<substack>
so another thing, my script for cutting up planet osm will soon be finished, possibly later today or tomorrow
f[x] has joined #ipfs
<lgierth>
:):)
<substack>
$ find -type f | wc -l
<substack>
135261
<substack>
branch factor is 16, maximum depth is 8, maximum file size is 1M
<alterego>
Kubuxu: ping
<substack>
looking at the output, it looks as though it's over halfway done but it's hard to know
arpu has quit [Ping timeout: 250 seconds]
<whyrusleeping>
Yeah, many small files takes longer than fewer large files
<Kubuxu>
alterego: pong?
<whyrusleeping>
we added ~3TB worth of CCC video archives, and it took a day or so
<Kubuxu>
alterego: it would be hard as you would have to have handler for the app in go-ipfs
<Kubuxu>
it is much easier to expose two way socket and let the app handle it for itself
<alterego>
Kubuxu: I was under the impression that using your PR, I could add my own multiaddr Transcoder for the case of "app" proto
<Kubuxu>
yes but it needs to be built into the go-ipfs binary
<alterego>
Kubuxu: So your PR doesn't do what I think it does? I thought it allows you to programatically add protocols to multiaddr at runtime?
<Kubuxu>
no, it allows you to wire in protocols at compile time
<alterego>
Kubuxu: so I can't use AddProtocol with my own Transcoder?
<Kubuxu>
maybe in Runtime too but it wasn't the point of this PR
<Kubuxu>
you could but this affects whole stack, permanently and exposes abstraction
<Kubuxu>
if you wanted to make it a public cornet API
<alterego>
Kubuxu: Sure, but it looks like it'll do the trick. It's purely, erm, aesthetical anyway, so not really important. I just want to be able to specify as one multiaddr argument rather than: ipfs exp corenet listen my-app-proto /ip4/127.0.0.1/tcp/8000
<Kubuxu>
hmm
<alterego>
Kubuxu: well, it probably should be a corenet API thing anyway. If we standardise on "app" being the defacto proto for external application streams.
<Kubuxu>
IMO the second syntax is better, the /app/some-app-proto isn't property of the socket, it is channel in cornet.
herzmeister has quit [Quit: Leaving]
<alterego>
Hrm, yeah, maybe you're irght.
arpu has joined #ipfs
herzmeister has joined #ipfs
<alterego>
But then, we have /ipfs/Qm...
herzmeisterderw has joined #ipfs
herzmeisterderw has quit [Remote host closed the connection]
<Kubuxu>
the first example says: call me back on /ip4/127.0.0.1/tcp/8000/app/my-app-proto and the first, listen on channel my-app-proto and call me back at /ip4/127.0.0.1/tcp/8000
<alterego>
Yeah, that makes sense.
<Kubuxu>
if you mean in the address we are shifting it to ../p2p/Qm... and it is property of the socket
<Kubuxu>
saying, dial this address and connect to this person
patcon has quit [Ping timeout: 240 seconds]
<Kubuxu>
the hash there is used to check identity
<alterego>
Yeah, and even if we add multiple identites, then the node id is fine. Okay, nevermind then :)
patcon has joined #ipfs
<alterego>
Kubuxu: one more question. I want to track app listeners and dialers, my prototype as a global module state variable, but I'm wondering whether this should be put into a module inside core?
<Kubuxu>
make something working and open a PR, seeing the code it will be much easier to discuss those things, it shouldn't be that hard to refactor it if it is a bit wrong.
<alterego>
Yeah, was going to do that, preparing my commit/s atm. But thought I'd ask anyway ;)
<alterego>
Just seemed a bit "horrible" storing state in core/commands
<Kubuxu>
yeah, we should have probably a module for it, which would be stored in core.Node, I think
<Kubuxu>
whyr might have different opinion on that
<alterego>
Yeah, that's what I was getting at.
<alterego>
I'll go with quick and dirty for now. And mention that in the PR
<alterego>
I'm starting to feel quite comfortable around the go-ipfs code base now, which is nice. Though not quite go to grips with gx and deps yet.
rendar has quit [Quit: std::lower_bound + std::less_equal *works* with a vector without duplicates!]
<Kubuxu>
awesome
bastianilso_____ has quit [Ping timeout: 246 seconds]
pfrazee has quit [Remote host closed the connection]
zanadar has joined #ipfs
zanadar has quit [Client Quit]
mangonization has quit [Remote host closed the connection]
patcon has quit [Ping timeout: 258 seconds]
pup[m] has joined #ipfs
intern has joined #ipfs
gustavodias has quit [Remote host closed the connection]