[zeromq-dev] Requesting suggestions for getsockopt() in Java

Steven McCoy steven.mccoy at miru.hk
Mon Aug 9 16:51:14 CEST 2010


On 9 August 2010 22:42, Martin Sustrik <sustrik at 250bpm.com> wrote:

> gonzalo diethelm wrote:
> >>> As always, just copy Sun's original implementation, implement
> > getters
> >>> and setters for every socket option:
> >> +1
> >
> > Ok, but I seem to remember there was a point made about not adding
> > separate interfaces for each socket option; this way, when new options
> > are added, old code can be made aware of them without changes (or
> > something to that effect). Perhaps this only applied to C code.
> >
> > So, if we go the full Java way, we would end up with the following
> > methods:
> >
> >   void setSocketHWM(int hwm);
> >   void setSocketSwap(int swap);
> >   void setSocketAffinity(int affinity);
> >   void setSocketIdentity(byte[] identity);
> >   void setSocketSubscribe(byte[] subscribe);
> >   void setSocketUnsubscribe(byte[] unsubscribe);
> >   void setSocketRate(int rate);
> >   void setSocketRecoveryInterval(int recovery_interval);
> >   void setSocketMulticastLoop(boolean multicast_loop);
> >   void setSocketSendBufferSize(int sndbuf);
> >   void setSocketReceiveBufferSize(int rcvbuf);
> >   void setSocketReceiveMore(boolean rcvmore);
> >
> >   int getSocketHWM();
> >   int getSocketSwap();
> >   int getSocketAffinity();
> >   byte[] getSocketIdentity();
> >   byte[] getSocketSubscribe();
> >   byte[] getSocketUnsubscribe();
> >   int getSocketRate();
> >   int getSocketRecoveryInterval();
> >   boolean getSocketMulticastLoop();
> >   int getSocketSendBufferSize();
> >   int getSocketReceiveBufferSize();
> >   boolean getSocketReceiveMore();
> >
> > Thoughts?
>
> What I saw on the page referenced by Steve looked like this:
>
>        void setOption(int optID, Object val) throws SocketException;
>        Object getOption(int optID) throws SocketException;
>
> Isn't that sandard Java sockopt interface?
>
>
Perversely they are doing both, I read the article as that they have now
introduced the type-safe API in 1.4.  I don't see the Object API listed in
the documentation, so I presume it's now only the internal API,

http://download-llnw.oracle.com/javase/1.4.2/docs/api/java/net/Socket.html
http://download.oracle.com/javase/1.4.2/docs/api/java/net/ServerSocket.html

-- 
Steve-o
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.zeromq.org/pipermail/zeromq-dev/attachments/20100809/6f382279/attachment.html>


More information about the zeromq-dev mailing list