An experiment with Project Panama: Windows TransmitFile
Pedro Lamarão
pedro.lamarao at prodist.com.br
Sat Nov 21 16:14:16 UTC 2020
Hi Maurizio,
I did everything by hand.
I'm familiar with the Windows API, so, this was a very straightforward
process of consulting the API reference and writing the boilerplate.
To be fair, I didn't actually consider using jextract, or read much about
it.
I think my previous experience with JNA and JNR, and .NET "interop",
affected my approach.
Panama seems pretty intuitive to me.
Ah, on this point, I had no previous experience with MethodHandles or
VarHandles also.
Regards,
Pedro.
Em sáb, 21 de nov de 2020 09:28, Maurizio Cimadamore <
maurizio.cimadamore at oracle.com> escreveu:
> Hi Pedro,
> thanks for giving Panama a try - the resulting program is indeed very
> readable.
>
> One question (think of it as my personal questionnaire) - what did you
> use to generate the various linker method handles/layouts? Did you use
> jextract and then did a manual filtering pass to remove what you didn't
> want, or did you just manually hand-written the various
> functions/layouts from Windows.h which were required in your program?
> Note: there's no good/bad answer, I'm mostly interested in understanding
> how developers get the job done using the new APIs/tools :-)
>
> Thanks!
> Maurizio
>
> On 21/11/2020 01:27, Pedro Lamarão wrote:
> > Hello all!
> > First and foremost, thank you for your excellent work!
> >
> > I'd like to contribute an experiment with the foreign linker.
> > Maybe evaluating such things is useful somehow.
> > It is a program that calls a specialized Windows API to transmit a file
> > over a socket.
> > https://github.com/pedrolamarao/sandbox-jvm-sendfile/tree/panama
> >
> > I think the result is very readable!
> > It took me approximately 5 hours to complete this, including studying
> > Project Panama's technical documentation.
> >
>
More information about the panama-dev
mailing list