leeola has quit [Quit: Connection closed for inactivity]
busecdo has quit [Ping timeout: 240 seconds]
busecdo has joined #sandstorm
biotim has quit [Ping timeout: 240 seconds]
biotim has joined #sandstorm
jemc has quit [Ping timeout: 256 seconds]
sandstorm has joined #sandstorm
isd has quit [Disconnected by services]
sandstorm is now known as isd
natea has joined #sandstorm
natea has quit [Quit: natea]
<kentonv>
isd: Hmm. I guess the security properties are no different from WebSocket. So I suppose it would be reasonable.
<kentonv>
isd: However, you may find that if your Sandstorm server is behind any kind of proxy (forward or reverse), it ruins everything...
jemc has joined #sandstorm
<isd>
I will open an issue to track it. The proxy stuff could cause hiccups, but the current solution isn't terribly pleasant. I'd expect to keep supporting the websocket approach, since I don't know that every IRC client out there can be easily coaxed into talking to an http proxy (esp. on a per-network basis).
eternaleye has quit [Remote host closed the connection]
thekyriarchy has quit [Remote host closed the connection]
simonv3 has quit [Remote host closed the connection]
thejohnhenry[m] has quit [Remote host closed the connection]
gillisig has quit [Read error: Connection reset by peer]
srenatus[m] has quit [Remote host closed the connection]
M-hrjet has quit [Remote host closed the connection]
nolan_d has quit [Read error: Connection reset by peer]
indoleringmatri4 has quit [Read error: Connection reset by peer]
hannes[m] has quit [Remote host closed the connection]
johndoe123[m] has quit [Remote host closed the connection]
davidar has quit [Write error: Connection reset by peer]
wakest has quit [Read error: Connection reset by peer]
RichardParsons[m has quit [Read error: Connection reset by peer]
JonTheNiceGuy has quit [Read error: Connection reset by peer]
JulianFoad[m] has quit [Read error: Connection reset by peer]
hannes[m] has joined #sandstorm
cevi has quit [Quit: ZNC 1.6.4+deb1+b1 - http://znc.in]
cevi has joined #sandstorm
davidar has joined #sandstorm
eternaleye has joined #sandstorm
JulianFoad[m] has joined #sandstorm
JonTheNiceGuy has joined #sandstorm
srenatus[m] has joined #sandstorm
simonv3 has joined #sandstorm
M-hrjet has joined #sandstorm
wakest has joined #sandstorm
nolan_d has joined #sandstorm
thekyriarchy has joined #sandstorm
gillisig has joined #sandstorm
indoleringmatrix has joined #sandstorm
johndoe123[m] has joined #sandstorm
thejohnhenry[m] has joined #sandstorm
RichardParsons[m has joined #sandstorm
aundro has joined #sandstorm
Zarutian has joined #sandstorm
leeola has joined #sandstorm
Isla_de_Muerte has joined #sandstorm
NwS has quit [Ping timeout: 246 seconds]
Zarutian has quit [Quit: Zarutian]
aundro has quit [Ping timeout: 252 seconds]
jemc has joined #sandstorm
aundro has joined #sandstorm
Telesight has joined #sandstorm
ShalokShalom has joined #sandstorm
ShalokShalom_ has quit [Ping timeout: 268 seconds]
afuentes has quit [Ping timeout: 268 seconds]
samba_ has joined #sandstorm
samba_ has quit [Ping timeout: 246 seconds]
xxxx has joined #sandstorm
xxxx has quit [Client Quit]
Isla_de_Muerte is now known as NwS
Telesight has quit [Remote host closed the connection]
TMM has joined #sandstorm
<TMM>
hi all! Another capnp question: Is it possible to distinguish between a default value and an unset value?
<isd>
TMM: two questions: (1) why? (2) I assume you're talking about the C++ implementation?
<isd>
(I'm always thrown by (2); I mostly use the Go implementation and am hacking on a haskell one, so my first instinct is to answer in terms of the data format itself, forgetting that people are using a library. Very different questions)
<TMM>
isd, well, 'why' is I have a message for updating one of a set of fields in a struct, say you have a user and you want to update only its first_name field. It'd be nice if I can tell what fields to update
<TMM>
isd, and yes, c++
<isd>
is first_name Text?
<isd>
Pretty sure there's a HasFoo() or such if the type is a pointer type (like Text)
Zarutian has joined #sandstorm
<isd>
If it's not a pointer type, you're talking small amounts of data anyway, so my first instinct is just set it unconditionally until you've proven it's a problem.
<TMM>
isd, data size I don't care about so much, it's more detecting whether or not it's set
<TMM>
but if Text is a pointer and I can just do HasFirst_Name() that would help
<isd>
For non-pointer types, whether it's "set" or not is just a question of whether there's space allocated in the segment for it. I don't know what it does if you try to set it and there isn't.
<isd>
logic for getters is something like if(sizeof dataSection >= offsetof myfield + sizeof myfield) return readValue(); else return defaultValue();
<isd>
I don't know if the C++ library exposes what you need to check that or not. I also still don't understand what you're trying to do.
<isd>
There was some recent-ish discussion on the mailing list about this...
<TMM>
Well, what I'm trying to do is send a 'User' struct to my endpoint with a message that this user should be updated
<TMM>
but I need to know which of the fields I actually need to update