1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Copyright (C) 2008 The Android Open Source Project 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * you may not use this file except in compliance with the License. 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * You may obtain a copy of the License at 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * See the License for the specific language governing permissions and 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * limitations under the License. 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage tests.api.java.net; 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargets; 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestLevel; 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetNew; 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetClass; 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport junit.framework.TestCase; 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.IOException; 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.lang.reflect.Field; 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.net.DatagramPacket; 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.net.DatagramSocket; 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.net.DatagramSocketImpl; 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.net.DatagramSocketImplFactory; 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.net.InetAddress; 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.net.NetworkInterface; 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.net.SocketAddress; 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.net.SocketException; 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(DatagramSocketImplFactory.class) 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class DatagramSocketImplFactoryTest extends TestCase { 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project DatagramSocketImplFactory oldFactory = null; 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Field factoryField = null; 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project boolean isTestable = false; 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project boolean isDatagramSocketImplCalled = false; 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project boolean isCreateDatagramSocketImpl = false; 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargets({ 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "createDatagramSocketImpl", 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ), 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL_COMPLETE, 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "Verifies SecurityException.", 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project clazz = DatagramSocket.class, 59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "setDatagramSocketImplFactory", 60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.net.DatagramSocketImplFactory.class} 61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project }) 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_createDatagramSocketImpl() throws IllegalArgumentException, 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project IOException { 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if(isTestable) { 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project DatagramSocketImplFactory factory = new TestDatagramSocketImplFactory(); 69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse(isCreateDatagramSocketImpl); 70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project DatagramSocket.setDatagramSocketImplFactory(factory); 71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project DatagramSocket ds = new java.net.DatagramSocket(); 74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue(isCreateDatagramSocketImpl); 75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue(isDatagramSocketImplCalled); 76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (Exception e) { 77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Exception during test : " + e.getMessage()); 78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project DatagramSocket.setDatagramSocketImplFactory(factory); 83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("SocketException was not thrown."); 84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(SocketException se) { 85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project DatagramSocket.setDatagramSocketImplFactory(null); 90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("SocketException was not thrown."); 91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(SocketException se) { 92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } else { 96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project TestDatagramSocketImplFactory dsf = new TestDatagramSocketImplFactory(); 98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project DatagramSocketImpl dsi = dsf.createDatagramSocketImpl(); 99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertNull(dsi.getOption(0)); 101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (SocketException e) { 102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("SocketException was thrown."); 103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void setUp() { 109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Field [] fields = DatagramSocket.class.getDeclaredFields(); 110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int counter = 0; 111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (Field field : fields) { 112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if (DatagramSocketImplFactory.class.equals(field.getType())) { 113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project counter++; 114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project factoryField = field; 115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if(counter == 1) { 119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project isTestable = true; 121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project factoryField.setAccessible(true); 123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project oldFactory = (DatagramSocketImplFactory) factoryField.get(null); 125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalArgumentException e) { 126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalArgumentException was thrown during setUp: " 127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project + e.getMessage()); 128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalAccessException e) { 129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalAccessException was thrown during setUp: " 130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project + e.getMessage()); 131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void tearDown() { 136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if(isTestable) { 137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project factoryField.set(null, oldFactory); 139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalArgumentException e) { 140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalArgumentException was thrown during tearDown: " 141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project + e.getMessage()); 142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalAccessException e) { 143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalAccessException was thrown during tearDown: " 144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project + e.getMessage()); 145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project class TestDatagramSocketImplFactory implements DatagramSocketImplFactory { 150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public DatagramSocketImpl createDatagramSocketImpl() { 151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project isCreateDatagramSocketImpl = true; 152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return new TestDatagramSocketImpl(); 153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project class TestDatagramSocketImpl extends DatagramSocketImpl { 157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void bind(int arg0, InetAddress arg1) throws SocketException { 160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // TODO Auto-generated method stub 161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void close() { 166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // TODO Auto-generated method stub 167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void create() throws SocketException { 172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project isDatagramSocketImplCalled = true; 173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected byte getTTL() throws IOException { 177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // TODO Auto-generated method stub 178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return 0; 179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected int getTimeToLive() throws IOException { 183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // TODO Auto-generated method stub 184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return 0; 185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void join(InetAddress arg0) throws IOException { 189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // TODO Auto-generated method stub 190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void joinGroup(SocketAddress arg0, NetworkInterface arg1) throws IOException { 195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // TODO Auto-generated method stub 196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void leave(InetAddress arg0) throws IOException { 201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // TODO Auto-generated method stub 202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void leaveGroup(SocketAddress arg0, NetworkInterface arg1) throws IOException { 207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // TODO Auto-generated method stub 208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public int peek(InetAddress arg0) throws IOException { 213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // TODO Auto-generated method stub 214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return 10; 215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected int peekData(DatagramPacket arg0) throws IOException { 219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // TODO Auto-generated method stub 220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return 0; 221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void receive(DatagramPacket arg0) throws IOException { 225f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // TODO Auto-generated method stub 226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void send(DatagramPacket arg0) throws IOException { 231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // TODO Auto-generated method stub 232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void setTTL(byte arg0) throws IOException { 237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // TODO Auto-generated method stub 238f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 241f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 242f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void setTimeToLive(int arg0) throws IOException { 243f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // TODO Auto-generated method stub 244f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 245f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 246f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 247f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public Object getOption(int arg0) throws SocketException { 248f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // TODO Auto-generated method stub 249f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return null; 250f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 251f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 252f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void setOption(int arg0, Object arg1) throws SocketException { 253f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // TODO Auto-generated method stub 254f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 255f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 256f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 257f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 258