This version (2017/05/27 13:44) is a draft.
Approvals: 0/1

[08:45:31] * ChanServ sets mode: +o temporalfox [08:49:47] * ChanServ sets mode: +o temporalfox

[10:45:42] <aesteve> hi everyone :)

[10:47:53] <cescoffier> hi

[11:17:04] <temporalfox> hi

[11:23:34] <aesteve> finally I think I found an elegant solution to the problem I had yesterday

[11:24:57] <aesteve> service.someAsyncMethod 'some param', fail | { result → … }

[11:25:06] <aesteve> instead of the usual

[11:25:36] <aesteve> service.someAsyncMethod 'some param', { res → if (res.failed()) context.fail(…) else … }

[11:47:38] *** ChanServ sets mode: +o temporalfox

[12:29:18] <nevenr> Hi, how to restrict NetServer to accept connection only from certain hosts?

[12:54:42] <AlexLehm> nevenr: i don't think there is an option to restrict that in the netserver, but you can close the connection in your handler probably

[12:55:09] <AlexLehm> something tcpwrapper allow/deny is not implemented I think

[13:00:44] <nevenr> Thanks AlexLehm, yes I already did it in server.connectHandler but just want to check is there are some better way …

[13:24:49] <aesteve> temporalfox: “Buffer is not legal for use for a parameter in proxy”

[13:25:08] <aesteve> what's should I “translate” the Buffer to ?

[13:25:34] <temporalfox> it could be

[13:25:39] <temporalfox> json

[13:25:43] <temporalfox> ?

[13:25:59] <aesteve> it's a binary frame from a socket :\

[13:27:19] <AlexLehm> nevenr: if this is supported by netty it might be worthwhile to implement in vertx as well

[13:28:28] <temporalfox> yes but now it would be very too latish

[13:28:41] <AlexLehm> aesteve: if you have a json object with { data: Buffer } it should work via base64 i think

[13:29:27] <aesteve> thx AlexLehm I'll give it a try

[13:43:00] <aesteve> mmh temporalfox I have an issue with proxygen

[13:43:12] <temporalfox> yes that was my idea

[13:43:21] <temporalfox> to wrap it in a jsonobject

[13:43:21] <temporalfox> that does N64

[13:43:23] <temporalfox> B64

[13:43:25] <temporalfox> what is the prb ?

[13:43:41] <aesteve> if the constructor that takes JsonObject as parameter throws an exception, the generated code doesn't compile

[13:43:50] <aesteve> (declares an exception)

[13:49:00] <temporalfox> which one ?

[13:49:06] <temporalfox> I don't understand

[13:49:21] <temporalfox> ah we don't support throws Excdption in codegen

[13:49:25] <temporalfox> you shwold throw a runtime exception

[13:50:51] <aesteve> ok

[13:51:15] <aesteve> this constructor was here before the object was a DataObject

[13:51:38] <temporalfox> what are you refering to ?

[13:51:42] <aesteve> I'll refactor the code to use a factory and keep the constructor only for ProxyGen purposes

[13:52:23] <aesteve> I had a class in some project, which had a constructor that takes JsonObject as parameter and throws an exception

[13:52:39] <aesteve> now I'm “translating” the class to make it a DataObject class

[13:52:49] <aesteve> but nvm I'll change the code

[13:55:37] <temporalfox> but we don't support constructors in codegen

[13:56:03] <temporalfox> we use static interface methods

[13:56:27] <aesteve> ? it told me I had to create a constructor(JsonObject) to be @DataObject compliant

[13:56:50] <aesteve> and a toJson() method, too, and a no-arg constructor

[13:58:00] <temporalfox> ahhhh

[13:58:02] <temporalfox> for dataobject yes

[13:58:06] <temporalfox> you need that indeed

[13:58:21] <temporalfox> also now you can code generate dataobject / json converter

[13:58:28] <temporalfox> that's handy if you have a complex dataobject

[13:58:36] <temporalfox> it also generates the tojson

[13:58:44] <aesteve> “Data object com.mycompany.myproject.MyClass class does not have a constructor MyClass(JsonObject)”

[13:58:54] <aesteve> ah ok

[13:59:06] <aesteve> it's a very simple object :) np

[14:09:21] <temporalfox> ah you wrap

[14:09:26] <temporalfox> hum

[14:58:59] <cescoffier> tsegismont : are you around ?

[14:59:06] <tsegismont> cescoffier, yes

[14:59:29] <cescoffier> tsegismont : I've made a couple of commit to the hawkular metrics to integrate it to the vert.x stack and web site

[14:59:46] <cescoffier> tsegismont : nothing “functional”, just to be a “nice” vert.x citizen ;-)

[15:00:03] <cescoffier> tsegismont : the documentation is now generated in java, groovy, js, and ruby

[15:00:17] <cescoffier> tsegismont : and the examples are in another packaged (to not appear in the javadoc)

[15:01:43] <tsegismont> cescoffier, ok thanks. As for me I'm looking at the CI issues right now

[15:01:56] <tsegismont> Looks like a timing issue

[15:02:14] <cescoffier> tsegismont : yes, but is it coming from the test, from vert.x or from hawkular….

[15:02:29] <tsegismont> I believe it's from the test

[15:02:30] <cescoffier> tsegismont : I think I'm done, just need to add the links on the documentation

[15:02:53] <cescoffier> tsegismont : do you think the module is “ready” or should it be stamped as “technical preview” ?

[15:07:40] <tsegismont> I believe it is “ready” to be used

[15:08:31] <aesteve> cescoffier: I can't find the link where all vertx “-D” options are ? I know I've seen it but can't remember where

[15:08:53] <cescoffier> aesteve if you find it, I would like to have it too ;-)

[15:09:06] <cescoffier> aesteve : I've not sure we have it

[15:09:25] <aesteve> ok, I often dream of things like this, there must be something wrong with me :D

[15:09:59] <aesteve> any idea how to start Vert.x in cluster mode from “java -jar” then ?

[15:10:03] <cescoffier> aesteve : we have an open issue to come up with something like this, should be part of 3.2

[15:10:14] <cescoffier> java -jar my-fat-jar -cluster

[15:10:21] <aesteve> thx !

[15:10:33] <cescoffier> this one id documented in the Launcher

[15:11:12] <cescoffier> aesteve : http://vertx.io/docs/vertx-core/java/#_executing_a_vert_x_application_packaged_as_a_fat_jar

[15:11:37] <aesteve> thanks a lot I was missing this

[15:19:15] <cescoffier> aesteve : you can do java -jar foo.jar –help

[15:19:25] <cescoffier> or java -jar foo.jar run –help

[15:19:39] <aesteve> good to know !

[15:20:29] <cescoffier> aesteve : and because you like the hardcore way, you can implement your own command ;-)

[15:20:42] <cescoffier> aesteve java -jar foo.jar arnaud

[15:20:56] <cescoffier> aesteve : i let you decide what it should do ;-)

[15:21:26] <aesteve> Awesome ! I've always been megalomaniac

[15:23:29] <cescoffier> tsegismont : hawkular is on the web site :-) (not published yet, it will be after the release)

[15:24:19] <tsegismont> cescoffier, awesome!

[15:33:32] <aesteve> cescoffier: temporalfox if you have any idea regarding the exception handling stuff in the discussion group, I think it's an interesting question

[15:33:54] <aesteve> (a question everyone's gonna ask himself at some point)

[15:34:11] <temporalfox> which one is it ?

[15:34:21] <temporalfox> in service proxies ?

[15:34:22] <aesteve> https://groups.google.com/forum/#!topic/vertx/ldZirqpiiOY

[15:34:48] <temporalfox> Handler not declaring throwable ?

[15:35:02] <aesteve> I think it's even more than that

[15:35:31] <aesteve> the only way to “catch all” would be an ErrorHandler like in vertx-web

[15:35:47] <temporalfox> but that would apply to ?

[15:36:01] <aesteve> Vertx.vertx() I guess

[15:36:29] <aesteve> no matter if the error comes from vertx.fileSystem() or a reply to a reply to a reply over the event-bus

[15:36:38] <aesteve> i think that's what he means by “bubble up”

[15:36:58] <aesteve> a single entry point to catch every error

[15:37:29] <temporalfox> ok

[15:37:33] <temporalfox> I have created an issue

[15:37:38] <temporalfox> that would be like that a bit

[15:37:53] <temporalfox> https://github.com/eclipse/vert.x/issues/1216

[15:38:03] <temporalfox> that allows to do things at the event loop level

[15:38:21] <temporalfox> the idea is to catch exception

[15:38:23] <temporalfox> in handlers

[15:38:32] <temporalfox> that could be useful in vertx unit

[15:39:44] <aesteve> ok I see

[15:42:49] <temporalfox> I'm wondering if that's not a bit related

[15:45:08] <aesteve> in fact, I'm not sure the event-loop would be enough

[15:45:56] <aesteve> idk actually. I understand the problem, but not really the solution

[17:09:01] <temporalfox> need to look at https://getsentry.com/welcome/

[17:32:21] <aesteve> i know sentry I use it for front-end stuff

[17:33:09] <aesteve> I hope the pb can be clarified

[17:33:53] <aesteve> because to me it looks like : “is there any way to 'hook' on Vert.x so that Vert.x notifies me of any exception that during its lifecycle”

[17:34:10] <aesteve> and if it's possible it's absolutely awesome in terms of monitoring

[17:34:37] <aesteve> because we could plug a lot of different “error handlers” implementation, sentry, ELK, …

[17:35:34] <aesteve> for instance you could choose to send to sentry only the stacktraces created by the block-checker, and get sentry email alerts when it happens

[17:57:15] <aesteve> temporalfox: tell me if you want me to explain in details what I've in mind, np :)