JavaVM.st
changeset 585 86a82df9473c
parent 584 9e346fcad5d9
child 586 55ea33ab322a
--- a/JavaVM.st	Thu Jul 15 00:04:36 1999 +0000
+++ b/JavaVM.st	Thu Jul 15 00:28:15 1999 +0000
@@ -5552,7 +5552,10 @@
 !
 
 _System_identityHashCode:nativeContext
-    UnimplementedNativeMethodSignal raise
+    |obj|
+
+    obj := nativeContext argAt:1.
+    ^ obj identityHash
 
     "Modified: / 12.11.1998 / 18:52:07 / cg"
     "Created: / 12.11.1998 / 18:54:00 / cg"
@@ -6402,6 +6405,28 @@
     "Modified: / 30.12.1998 / 20:10:38 / cg"
 !
 
+_PlainDatagramSocketImpl_join:nativeContext
+    "/ native void join (InetAddress arg1)
+
+    |jsock addr sock ok err|
+
+    jsock := nativeContext receiver.
+    addr := nativeContext argAt:1.
+
+    sock := self validateFile:jsock.
+    sock notNil ifTrue:[
+        FileIOTrace ifTrue:[
+            ('JAVA: socket join ' , addr printString) infoPrintCR
+        ].
+        self throwIOExceptionWithMessage:'unimplemented: join'.
+self halt.
+        ^ nil.  "/ void
+    ].
+
+    "Created: / 4.2.1998 / 15:06:20 / cg"
+    "Modified: / 30.12.1998 / 20:10:16 / cg"
+!
+
 _PlainDatagramSocketImpl_receive:nativeContext
     |jsock jdatagramPacket sock ok|
 
@@ -6451,14 +6476,54 @@
         FileIOTrace ifTrue:[
             ('JAVA: socket getOption ' , opt printString) infoPrintCR
         ].
+        self throwIOExceptionWithMessage:'unimplemented: getOption'.
 self halt.
         ^ -1.
-
-"/        ok ifFalse:[
-"/            err := OperatingSystem lastErrorString.
-"/            Transcript showCR:'sock err: ' , err printString.
-"/            self throwIOExceptionWithMessage:'bind failed'.
-"/        ]
+    ].
+    ^ -1.
+
+    "Created: / 4.2.1998 / 15:06:20 / cg"
+    "Modified: / 30.12.1998 / 20:10:16 / cg"
+!
+
+_PlainDatagramSocketImpl_socketSetOption:nativeContext
+    "/ native void socketSetOption (int arg1, java.lang.Object arg2)
+
+    |jsock opt optVal sock ok err jSocketOptions|
+
+    jsock := nativeContext receiver.
+    opt := nativeContext argAt:1.
+    optVal := nativeContext argAt:2.
+
+    sock := self validateFile:jsock.
+    sock notNil ifTrue:[
+        FileIOTrace ifTrue:[
+            ('JAVA: socket setOption ' , opt printString) infoPrintCR
+        ].
+
+        jSocketOptions := Java at:'java.net.SocketOptions'.
+        (opt == (jSocketOptions instVarNamed:'TCP_NODELAY')) ifTrue:[
+        ] ifFalse:[
+            (opt == (jSocketOptions instVarNamed:'SO_BINDADDR')) ifTrue:[
+            ] ifFalse:[
+                (opt == (jSocketOptions instVarNamed:'SO_REUSEADDR')) ifTrue:[
+                ] ifFalse:[
+                    (opt == (jSocketOptions instVarNamed:'IP_MULTICAST_IF')) ifTrue:[
+                    ] ifFalse:[
+                        (opt == (jSocketOptions instVarNamed:'SO_LINGER')) ifTrue:[
+                        ] ifFalse:[
+                            (opt == (jSocketOptions instVarNamed:'SO_TIMEOUT')) ifTrue:[
+                            ] ifFalse:[
+                                self throwIOExceptionWithMessage:'bad arg to setOption'.
+                            ]
+                        ]
+                    ]
+                ]
+            ]
+        ].
+        self throwIOExceptionWithMessage:'unimplemented: setOption'.
+self halt.
+        ^ nil.  "/ void
     ].
 
     "Created: / 4.2.1998 / 15:06:20 / cg"
@@ -11965,6 +12030,6 @@
 !JavaVM class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaVM.st,v 1.153 1999/07/15 00:04:36 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaVM.st,v 1.154 1999/07/15 00:28:15 cg Exp $'
 ! !
 JavaVM initialize!