Sorry to follow up on this late. I'm currently traveling and have spotty
connectivity.

To be honest I haven't been able to spare the time to looked very closely
at the code in question until recently, so most of my comments are less
about the name and more a rather late set of questions around the
intentions behind the code itself.

My tour of the code started with an attempt to figure out what the term
"sync" was intended to mean since "synchronous" is commonly used to refer
to both a blocking programming style and a request/response messaging
pattern, but the two aren't necessarily correlated. (Blocking APIs can do
asynchronous messaging, and non-blocking APIs can do synchronous
messaging.) I expected a closer look at the code to clear up the ambiguity
for me, but it actually doesn't. The code uses the term Blocking throughout
suggesting that it refers to the programming style, yet it also seems
(possibly intentionally) limited to purely synchronous scenarios, e.g.
there is a window on the receive side, but send is hardcoded to have a
window of 1 and just from looking at the code it is hard to tell whether
this is an intentional design choice or whether the initial use case simply
doesn't happen to include send windows larger than 1.

Looking at the SyncRequestResponse part, it's also possible I have the
wrong end of the stick and that all the various Blocking* classes are
mostly implementation details and the real point of the thing is to be an
rpc tool.

I think some description of the intended scope of the API would be helpful
in providing a less provisional name. As it stands this code could be
anything from the very early start of a general purpose blocking API for
proton, to a simple convenience API for one particular scenario. Where it
falls on this spectrum would significantly influence both its name and
maturity level.

--Rafael


On Fri, Mar 6, 2015 at 8:56 AM, Justin Ross <jr...@apache.org> wrote:

>    This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/31681/
>
> Ship it!
>
> I like the name.
>
>
> - Justin Ross
>
> On March 3rd, 2015, 2:39 p.m. UTC, Gordon Sim wrote:
>   Review request for qpid, Alan Conway, Justin Ross, and Rafael Schloming.
> By Gordon Sim.
>
> *Updated March 3, 2015, 2:39 p.m.*
>  *Repository: * qpid-proton-git
> Description
>
> In order to convey a little bit more about what the contents do. Just a 
> suggestion.
>
>   Diffs
>
>    - examples/python/helloworld_blocking.py (d9a24a9)
>    - examples/python/sync_client.py (82cd85f)
>    - proton-c/bindings/python/CMakeLists.txt (7f54033)
>    - proton-c/bindings/python/proton/sync.py (PRE-CREATION)
>    - proton-c/bindings/python/proton/utils.py (d5e2e0a)
>    - tests/python/proton_tests/sync.py (PRE-CREATION)
>    - tests/python/proton_tests/utils.py (727b586)
>
> View Diff <https://reviews.apache.org/r/31681/diff/>
>

Reply via email to