From 39b1a0588feb025b361cafcce5a63cb85cd94ee1 Mon Sep 17 00:00:00 2001 From: Warren Levy Date: Tue, 18 May 1999 18:02:01 +0000 Subject: Makefile.am (ordinary_java_source_files): Added DatagramPacket.java... * Makefile.am (ordinary_java_source_files): Added DatagramPacket.java, DatagramSocket.java, DatagramSocketImpl.java, MulticastSocket.java, PlainDatagramSocketImpl.java, and SocketOptions.java. (nat_source_files): Added natPlainDatagramSocketImpl.cc. * Makefile.in: Rebuilt. * java/net/DatagramPacket.java: New file. * java/net/DatagramSocket.java: New file. * java/net/DatagramSocketImpl.java: New file. * java/net/MulticastSocket.java: New file. * java/net/PlainDatagramSocketImpl.java: New file. * java/net/SocketOptions.java: New file. * java/net/natPlainDatagramSocketImpl.cc: New file. From-SVN: r26997 --- libjava/java/net/PlainDatagramSocketImpl.java | 56 +++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 libjava/java/net/PlainDatagramSocketImpl.java (limited to 'libjava/java/net/PlainDatagramSocketImpl.java') diff --git a/libjava/java/net/PlainDatagramSocketImpl.java b/libjava/java/net/PlainDatagramSocketImpl.java new file mode 100644 index 00000000000..7628c5087e3 --- /dev/null +++ b/libjava/java/net/PlainDatagramSocketImpl.java @@ -0,0 +1,56 @@ +// PlainDatagramSocketImpl.java - Implementation of DatagramSocketImpl. + +/* Copyright (C) 1999 Cygnus Solutions + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +package java.net; +import java.io.IOException; + +/** + * @author Warren Levy + * @date May 3, 1999. + */ + +/** + * Written using on-line Java Platform 1.2 API Specification, as well + * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998). + * Status: Believed complete and correct. + */ + +class PlainDatagramSocketImpl extends DatagramSocketImpl +{ + int fnum = -1; + InetAddress address; // TBD: DatagramSocket.getLocalAddress()? + + // FIXME: Probably should have bind (and create?) calls from DatagramSocket + // constuctor. If so, then same change should be made to the corresponding + // Socket (non-datagram) classes. This allows the implementation more + // compleete control over how the socket is set up and used (e.g. connect, + // setting options, etc.). + public PlainDatagramSocketImpl() + { + } + + protected native void bind(int lport, InetAddress laddr) + throws SocketException; + protected native void create() throws SocketException; + protected native int peek(InetAddress i) throws IOException; + protected native void setTTL(byte ttl) throws IOException; + protected native byte getTTL() throws IOException; + protected native void setTimeToLive(int ttl) throws IOException; + protected native int getTimeToLive() throws IOException; + protected native void join(InetAddress inetaddr) throws IOException; + protected native void leave(InetAddress inetaddr) throws IOException; + protected native void send(DatagramPacket p) throws IOException; + protected native void receive(DatagramPacket p) throws IOException; + + protected void close() throws IOException + { + fd.close(); + } +} -- cgit v1.2.3