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