diff options
Diffstat (limited to 'bindings/java/org/zmq')
| -rw-r--r-- | bindings/java/org/zmq/Context.java | 50 | ||||
| -rw-r--r-- | bindings/java/org/zmq/Socket.java | 112 | 
2 files changed, 162 insertions, 0 deletions
| diff --git a/bindings/java/org/zmq/Context.java b/bindings/java/org/zmq/Context.java new file mode 100644 index 0000000..c63ef60 --- /dev/null +++ b/bindings/java/org/zmq/Context.java @@ -0,0 +1,50 @@ +/* +    Copyright (c) 2007-2009 FastMQ Inc. + +    This file is part of 0MQ. + +    0MQ is free software; you can redistribute it and/or modify it under +    the terms of the Lesser GNU General Public License as published by +    the Free Software Foundation; either version 3 of the License, or +    (at your option) any later version. + +    0MQ is distributed in the hope that it will be useful, +    but WITHOUT ANY WARRANTY; without even the implied warranty of +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +    Lesser GNU General Public License for more details. + +    You should have received a copy of the Lesser GNU General Public License +    along with this program.  If not, see <http://www.gnu.org/licenses/>. +*/ + +package org.zmq; + +public class Context { +    static { +        System.loadLibrary("jzmq"); +    } + +    /** +     * Class constructor. +     * +     * @param appThreads maximum number of application threads. +     * @param ioThreads size of the threads pool to handle I/O operations. +     */ +    public Context (int appThreads, int ioThreads) { +        construct (appThreads, ioThreads); +    } + +    /** +     * Internal function. Do not use directly! +     */ +    public native long createSocket (int type); + +    /** Initialize the JNI interface */ +    protected native void construct (int appThreads, int ioThreads); + +    /** Free resources used by JNI driver. */ +    protected native void finalize (); + +    /** Opaque data used by JNI driver. */ +    private long contextHandle; +} diff --git a/bindings/java/org/zmq/Socket.java b/bindings/java/org/zmq/Socket.java new file mode 100644 index 0000000..501bc16 --- /dev/null +++ b/bindings/java/org/zmq/Socket.java @@ -0,0 +1,112 @@ +        /* +    Copyright (c) 2007-2009 FastMQ Inc. + +    This file is part of 0MQ. + +    0MQ is free software; you can redistribute it and/or modify it under +    the terms of the Lesser GNU General Public License as published by +    the Free Software Foundation; either version 3 of the License, or +    (at your option) any later version. + +    0MQ is distributed in the hope that it will be useful, +    but WITHOUT ANY WARRANTY; without even the implied warranty of +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +    Lesser GNU General Public License for more details. + +    You should have received a copy of the Lesser GNU General Public License +    along with this program.  If not, see <http://www.gnu.org/licenses/>. +*/ + +package org.zmq; + +public class Socket +{ + +    static { +        System.loadLibrary("jzmq"); +    } + +    public static final int NOBLOCK = 1; +    public static final int NOFLUSH = 2; + +    public static final int P2P = 0; +    public static final int PUB = 1; +    public static final int SUB = 2; +    public static final int REQ = 3; +    public static final int REP = 4; + +    public static final int HWM = 1; +    public static final int LWM = 2; +    public static final int SWAP = 3; +    public static final int AFFINITY = 4; +    public static final int IDENTITY = 5; +    public static final int SUBSCRIBE = 6; +    public static final int UNSUBSCRIBE = 7; +    public static final int RATE = 8; +    public static final int RECOVERY_IVL = 9; +    public static final int MCAST_LOOP = 10; + +    /** +     * Class constructor. +     * +     * @param context +     * @param type +     */ +    public Socket (Context context, int type) { +        construct (context, type); +    } + +    /** +     * Set the socket option value. +     * +     * @param option ID of the option to set +     * @param optval value to set the option to +     */ +     public native void setsockopt (int option, long optval); +     public native void setsockopt (int option, String optval); + +    /** +     * Bind to network interface. Start listening for new connections. +     * +     * @param addr +     */ +    public native void bind (String addr); + +    /** +     * Connect to remote application. +     * +     * @param addr +     */ +    public native void connect (String addr); + +    /** +     * Send the message. +     * +     * @param msg +     * @param flags +     */ +    public native boolean send (byte [] msg, long flags); + +    /** +     * Flush the messages down the stream. +     */ +    public native void flush (); + +    /** +     * Receive message. +     * +     * @param flags +     * @return +     */ +    public native byte [] recv (long flags); + +    /** Initialize JNI driver */ +    protected native void construct (Context context, int type); + +    /** Free all resources used by JNI driver. */ +    protected native void finalize (); + +    /** Opaque data used by JNI driver. */ +    private long socketHandle; + +} | 
