Compiled from "DatagramChannelImpl.java"
class sun.nio.ch.DatagramChannelImpl extends java.nio.channels.DatagramChannel implements sun.nio.ch.SelChImpl
  SourceFile: "DatagramChannelImpl.java"
  InnerClass: 
   #186; //class DatagramChannelImpl$1
   #15= #199 of #198; //IP=class SocketOptsImpl$IP of class SocketOptsImpl
  minor version: 0
  major version: 0
  Constant pool:
const #1 = String	#10;	//  Connect already invoked
const #2 = String	#11;	//  Connected address not equal to  target address
const #3 = String	#18;	//  Read-only buffer
const #4 = String	#25;	//  Target address not resolved
const #5 = String	#130;	//  sun.nio.ch.DatagramChannelImpl
const #6 = Asciz	$assertionsDisabled;
const #7 = Asciz	<clinit>;
const #8 = Asciz	<init>;
const #9 = Asciz	Code;
const #10 = Asciz	Connect already invoked;
const #11 = Asciz	Connected address not equal to  target address;
const #12 = Asciz	ConstantValue;
const #13 = Asciz	DatagramChannelImpl.java;
const #14 = Asciz	Exceptions;
const #15 = Asciz	IP;
const #16 = Asciz	InnerClasses;
const #17 = Asciz	LineNumberTable;
const #18 = Asciz	Read-only buffer;
const #19 = Asciz	ST_CONNECTED;
const #20 = Asciz	ST_KILLED;
const #21 = Asciz	ST_UNCONNECTED;
const #22 = Asciz	ST_UNINITIALIZED;
const #23 = Asciz	SourceFile;
const #24 = Asciz	Synthetic;
const #25 = Asciz	Target address not resolved;
const #26 = Asciz	address;
const #27 = Asciz	allocateDirect;
const #28 = Asciz	begin;
const #29 = Asciz	bind;
const #30 = Asciz	cachedSenderInetAddress;
const #31 = Asciz	cachedSenderPort;
const #32 = Asciz	check;
const #33 = Asciz	checkAccept;
const #34 = Asciz	checkAddress;
const #35 = Asciz	checkConnect;
const #36 = Asciz	checkListen;
const #37 = Asciz	checkMulticast;
const #38 = Asciz	class$;
const #39 = Asciz	class$sun$nio$ch$DatagramChannelImpl;
const #40 = Asciz	clear;
const #41 = Asciz	close;
const #42 = Asciz	configureBlocking;
const #43 = Asciz	connect;
const #44 = Asciz	create;
const #45 = Asciz	current;
const #46 = Asciz	desiredAssertionStatus;
const #47 = Asciz	disconnect;
const #48 = Asciz	disconnect0;
const #49 = Asciz	end;
const #50 = Asciz	ensureOpen;
const #51 = Asciz	ensureOpenAndUnconnected;
const #52 = Asciz	equals;
const #53 = Asciz	fd;
const #54 = Asciz	fdVal;
const #55 = Asciz	finalize;
const #56 = Asciz	flip;
const #57 = Asciz	forName;
const #58 = Asciz	getAddress;
const #59 = Asciz	getFD;
const #60 = Asciz	getFDVal;
const #61 = Asciz	getHostAddress;
const #62 = Asciz	getPort;
const #63 = Asciz	getSecurityManager;
const #64 = Asciz	getTemporaryDirectBuffer;
const #65 = Asciz	implCloseSelectableChannel;
const #66 = Asciz	implConfigureBlocking;
const #67 = Asciz	initCause;
const #68 = Asciz	initIDs;
const #69 = Asciz	interestOps;
const #70 = Asciz	isBound;
const #71 = Asciz	isConnected;
const #72 = Asciz	isMulticastAddress;
const #73 = Asciz	isOpen;
const #74 = Asciz	isReadOnly;
const #75 = Asciz	isRegistered;
const #76 = Asciz	java/io/IOException;
const #77 = Asciz	java/lang/AssertionError;
const #78 = Asciz	java/lang/Class;
const #79 = Asciz	java/lang/ClassNotFoundException;
const #80 = Asciz	java/lang/Error;
const #81 = Asciz	java/lang/IllegalArgumentException;
const #82 = Asciz	java/lang/IllegalStateException;
const #83 = Asciz	java/lang/Math;
const #84 = Asciz	java/lang/NoClassDefFoundError;
const #85 = Asciz	java/lang/NullPointerException;
const #86 = Asciz	java/lang/Object;
const #87 = Asciz	java/lang/SecurityException;
const #88 = Asciz	java/lang/SecurityManager;
const #89 = Asciz	java/lang/System;
const #90 = Asciz	java/net/InetAddress;
const #91 = Asciz	java/net/InetSocketAddress;
const #92 = Asciz	java/nio/ByteBuffer;
const #93 = Asciz	java/nio/channels/ClosedChannelException;
const #94 = Asciz	java/nio/channels/DatagramChannel;
const #95 = Asciz	java/nio/channels/NotYetConnectedException;
const #96 = Asciz	kill;
const #97 = Asciz	limit;
const #98 = Asciz	load;
const #99 = Asciz	localAddress;
const #100 = Asciz	localPortNumber;
const #101 = Asciz	max;
const #102 = Asciz	nd;
const #103 = Asciz	normalize;
const #104 = Asciz	options;
const #105 = Asciz	position;
const #106 = Asciz	preClose;
const #107 = Asciz	put;
const #108 = Asciz	putEventOps;
const #109 = Asciz	read;
const #110 = Asciz	read0;
const #111 = Asciz	readLock;
const #112 = Asciz	readerThread;
const #113 = Asciz	readyOps;
const #114 = Asciz	receive;
const #115 = Asciz	receive0;
const #116 = Asciz	receiveIntoNativeBuffer;
const #117 = Asciz	releaseTemporaryDirectBuffer;
const #118 = Asciz	remaining;
const #119 = Asciz	remoteAddress;
const #120 = Asciz	selector;
const #121 = Asciz	send;
const #122 = Asciz	send0;
const #123 = Asciz	sendFromNativeBuffer;
const #124 = Asciz	sender;
const #125 = Asciz	signal;
const #126 = Asciz	socket;
const #127 = Asciz	state;
const #128 = Asciz	stateLock;
const #129 = Asciz	subsequence;
const #130 = Asciz	sun.nio.ch.DatagramChannelImpl;
const #131 = Asciz	sun/nio/ch/AlreadyBoundException;
const #132 = Asciz	sun/nio/ch/DatagramChannelImpl;
const #133 = Asciz	sun/nio/ch/DatagramChannelImpl$1;
const #134 = Asciz	sun/nio/ch/DatagramDispatcher;
const #135 = Asciz	sun/nio/ch/DatagramSocketAdaptor;
const #136 = Asciz	sun/nio/ch/DirectBuffer;
const #137 = Asciz	sun/nio/ch/IOStatus;
const #138 = Asciz	sun/nio/ch/IOUtil;
const #139 = Asciz	sun/nio/ch/NativeDispatcher;
const #140 = Asciz	sun/nio/ch/NativeThread;
const #141 = Asciz	sun/nio/ch/Net;
const #142 = Asciz	sun/nio/ch/SelChImpl;
const #143 = Asciz	sun/nio/ch/SelectionKeyImpl;
const #144 = Asciz	sun/nio/ch/SelectorImpl;
const #145 = Asciz	sun/nio/ch/SocketOptsImpl;
const #146 = Asciz	sun/nio/ch/SocketOptsImpl$IP;
const #147 = Asciz	sun/nio/ch/Util;
const #148 = Asciz	translateAndSetInterestOps;
const #149 = Asciz	translateAndSetReadyOps;
const #150 = Asciz	translateAndUpdateReadyOps;
const #151 = Asciz	translateReadyOps;
const #152 = Asciz	write;
const #153 = Asciz	write0;
const #154 = Asciz	writeLock;
const #155 = Asciz	writerThread;
const #156 = int	-1;
const #157 = int	2;
const #158 = long	-3l;
const #160 = long	-2l;
const #162 = long	-1l;
const #164 = class	#76;	//  IOException
const #165 = class	#77;	//  AssertionError
const #166 = class	#78;	//  Class
const #167 = class	#79;	//  ClassNotFoundException
const #168 = class	#80;	//  Error
const #169 = class	#81;	//  IllegalArgumentException
const #170 = class	#82;	//  IllegalStateException
const #171 = class	#83;	//  Math
const #172 = class	#84;	//  NoClassDefFoundError
const #173 = class	#85;	//  NullPointerException
const #174 = class	#86;	//  Object
const #175 = class	#87;	//  SecurityException
const #176 = class	#88;	//  SecurityManager
const #177 = class	#89;	//  System
const #178 = class	#90;	//  InetAddress
const #179 = class	#91;	//  InetSocketAddress
const #180 = class	#92;	//  ByteBuffer
const #181 = class	#93;	//  ClosedChannelException
const #182 = class	#94;	//  DatagramChannel
const #183 = class	#95;	//  NotYetConnectedException
const #184 = class	#131;	//  AlreadyBoundException
const #185 = class	#132;	//  DatagramChannelImpl
const #186 = class	#133;	//  DatagramChannelImpl$1
const #187 = class	#134;	//  DatagramDispatcher
const #188 = class	#135;	//  DatagramSocketAdaptor
const #189 = class	#136;	//  DirectBuffer
const #190 = class	#137;	//  IOStatus
const #191 = class	#138;	//  IOUtil
const #192 = class	#139;	//  NativeDispatcher
const #193 = class	#140;	//  NativeThread
const #194 = class	#141;	//  Net
const #195 = class	#142;	//  SelChImpl
const #196 = class	#143;	//  SelectionKeyImpl
const #197 = class	#144;	//  SelectorImpl
const #198 = class	#145;	//  SocketOptsImpl
const #199 = class	#146;	//  SocketOptsImpl$IP
const #200 = class	#147;	//  Util
const #201 = Asciz	I;
const #202 = Asciz	J;
const #203 = Asciz	Z;
const #204 = Asciz	Ljava/io/FileDescriptor;;
const #205 = Asciz	Ljava/lang/Class;;
const #206 = Asciz	Ljava/lang/Object;;
const #207 = Asciz	Ljava/net/DatagramSocket;;
const #208 = Asciz	Ljava/net/InetAddress;;
const #209 = Asciz	Ljava/net/SocketAddress;;
const #210 = Asciz	Lsun/nio/ch/NativeDispatcher;;
const #211 = Asciz	Lsun/nio/ch/SelectorImpl;;
const #212 = Asciz	Lsun/nio/ch/SocketOpts$IP;;
const #213 = Asciz	()I;
const #214 = Asciz	()J;
const #215 = Asciz	()V;
const #216 = Asciz	()Z;
const #217 = Asciz	(I)I;
const #218 = Asciz	(I)V;
const #219 = Asciz	(I)Z;
const #220 = Asciz	(II)I;
const #221 = Asciz	(J)J;
const #222 = Asciz	(J)V;
const #223 = Asciz	(J)Z;
const #224 = Asciz	(Z)V;
const #225 = Asciz	()Ljava/io/FileDescriptor;;
const #226 = Asciz	(Ljava/io/FileDescriptor;)I;
const #227 = Asciz	(Ljava/io/FileDescriptor;)V;
const #228 = Asciz	(Ljava/io/FileDescriptor;JIZ)I;
const #229 = Asciz	(Ljava/io/FileDescriptor;Z)V;
const #230 = Asciz	(Z)Ljava/io/FileDescriptor;;
const #231 = Asciz	(Ljava/lang/Object;)Z;
const #232 = Asciz	()Ljava/lang/SecurityManager;;
const #233 = Asciz	()Ljava/lang/String;;
const #234 = Asciz	(Ljava/lang/String;)V;
const #235 = Asciz	(Ljava/lang/String;I)V;
const #236 = Asciz	()Ljava/net/DatagramSocket;;
const #237 = Asciz	()Ljava/net/InetAddress;;
const #238 = Asciz	(Ljava/net/InetAddress;)V;
const #239 = Asciz	()Ljava/net/SocketAddress;;
const #240 = Asciz	(Ljava/net/SocketAddress;)V;
const #241 = Asciz	()Ljava/nio/Buffer;;
const #242 = Asciz	(I)Ljava/nio/Buffer;;
const #243 = Asciz	(I)Ljava/nio/ByteBuffer;;
const #244 = Asciz	(Ljava/nio/ByteBuffer;)I;
const #245 = Asciz	(Ljava/nio/ByteBuffer;)V;
const #246 = Asciz	([Ljava/nio/ByteBuffer;)J;
const #247 = Asciz	([Ljava/nio/ByteBuffer;II)J;
const #248 = Asciz	()Ljava/nio/channels/DatagramChannel;;
const #249 = Asciz	(Ljava/nio/channels/spi/SelectorProvider;)V;
const #250 = Asciz	(Lsun/nio/ch/DatagramChannelImpl;)V;
const #251 = Asciz	(IILsun/nio/ch/SelectionKeyImpl;)Z;
const #252 = Asciz	(ILsun/nio/ch/SelectionKeyImpl;)V;
const #253 = Asciz	(ILsun/nio/ch/SelectionKeyImpl;)Z;
const #254 = Asciz	(Lsun/nio/ch/SelectionKeyImpl;I)V;
const #255 = Asciz	()Lsun/nio/ch/SocketOpts;;
const #256 = Asciz	(Lsun/nio/ch/SocketOptsImpl$Dispatcher;)V;
const #257 = Asciz	(Ljava/lang/String;)Ljava/lang/Class;;
const #258 = Asciz	(Ljava/lang/Throwable;)Ljava/lang/Throwable;;
const #259 = Asciz	(Lsun/nio/ch/DatagramChannelImpl;)Ljava/net/DatagramSocket;;
const #260 = Asciz	(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V;
const #261 = Asciz	(Ljava/io/FileDescriptor;Ljava/net/InetAddress;II)I;
const #262 = Asciz	(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;;
const #263 = Asciz	(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;;
const #264 = Asciz	(Ljava/io/FileDescriptor;JILjava/net/SocketAddress;)I;
const #265 = Asciz	(Ljava/nio/ByteBuffer;)Ljava/net/SocketAddress;;
const #266 = Asciz	(Ljava/nio/ByteBuffer;Ljava/net/SocketAddress;)I;
const #267 = Asciz	(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I;
const #268 = Asciz	(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;II)I;
const #269 = Asciz	(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;;
const #270 = Asciz	([Ljava/nio/ByteBuffer;II)[Ljava/nio/ByteBuffer;;
const #271 = Asciz	(Ljava/net/SocketAddress;)Ljava/nio/channels/DatagramChannel;;
const #272 = Asciz	(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;Ljava/net/SocketAddress;)I;
const #273 = Asciz	(Ljava/io/FileDescriptor;[Ljava/nio/ByteBuffer;Lsun/nio/ch/NativeDispatcher;)J;
const #274 = Asciz	(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I;
const #275 = NameAndType	#19:#201;//  ST_CONNECTED:I
const #276 = NameAndType	#21:#201;//  ST_UNCONNECTED:I
const #277 = NameAndType	#31:#201;//  cachedSenderPort:I
const #278 = NameAndType	#54:#201;//  fdVal:I
const #279 = NameAndType	#127:#201;//  state:I
const #280 = NameAndType	#112:#202;//  readerThread:J
const #281 = NameAndType	#155:#202;//  writerThread:J
const #282 = NameAndType	#6:#203;//  $assertionsDisabled:Z
const #283 = NameAndType	#53:#204;//  fd:Ljava/io/FileDescriptor;
const #284 = NameAndType	#39:#205;//  class$sun$nio$ch$DatagramChannelImpl:Ljava/lang/Class;
const #285 = NameAndType	#111:#206;//  readLock:Ljava/lang/Object;
const #286 = NameAndType	#128:#206;//  stateLock:Ljava/lang/Object;
const #287 = NameAndType	#154:#206;//  writeLock:Ljava/lang/Object;
const #288 = NameAndType	#126:#207;//  socket:Ljava/net/DatagramSocket;
const #289 = NameAndType	#30:#208;//  cachedSenderInetAddress:Ljava/net/InetAddress;
const #290 = NameAndType	#99:#209;//  localAddress:Ljava/net/SocketAddress;
const #291 = NameAndType	#119:#209;//  remoteAddress:Ljava/net/SocketAddress;
const #292 = NameAndType	#124:#209;//  sender:Ljava/net/SocketAddress;
const #293 = NameAndType	#102:#210;//  nd:Lsun/nio/ch/NativeDispatcher;
const #294 = NameAndType	#120:#211;//  selector:Lsun/nio/ch/SelectorImpl;
const #295 = NameAndType	#104:#212;//  options:Lsun/nio/ch/SocketOpts$IP;
const #296 = NameAndType	#62:#213;//  getPort:()I
const #297 = NameAndType	#69:#213;//  interestOps:()I
const #298 = NameAndType	#97:#213;//  limit:()I
const #299 = NameAndType	#105:#213;//  position:()I
const #300 = NameAndType	#113:#213;//  readyOps:()I
const #301 = NameAndType	#118:#213;//  remaining:()I
const #302 = NameAndType	#26:#214;//  address:()J
const #303 = NameAndType	#45:#214;//  current:()J
const #304 = NameAndType	#8:#215;//  "<init>":()V
const #305 = NameAndType	#28:#215;//  begin:()V
const #306 = NameAndType	#41:#215;//  close:()V
const #307 = NameAndType	#50:#215;//  ensureOpen:()V
const #308 = NameAndType	#51:#215;//  ensureOpenAndUnconnected:()V
const #309 = NameAndType	#68:#215;//  initIDs:()V
const #310 = NameAndType	#96:#215;//  kill:()V
const #311 = NameAndType	#98:#215;//  load:()V
const #312 = NameAndType	#46:#216;//  desiredAssertionStatus:()Z
const #313 = NameAndType	#70:#216;//  isBound:()Z
const #314 = NameAndType	#71:#216;//  isConnected:()Z
const #315 = NameAndType	#72:#216;//  isMulticastAddress:()Z
const #316 = NameAndType	#73:#216;//  isOpen:()Z
const #317 = NameAndType	#74:#216;//  isReadOnly:()Z
const #318 = NameAndType	#75:#216;//  isRegistered:()Z
const #319 = NameAndType	#103:#217;//  normalize:(I)I
const #320 = NameAndType	#36:#218;//  checkListen:(I)V
const #321 = NameAndType	#113:#218;//  readyOps:(I)V
const #322 = NameAndType	#32:#219;//  check:(I)Z
const #323 = NameAndType	#101:#220;//  max:(II)I
const #324 = NameAndType	#103:#221;//  normalize:(J)J
const #325 = NameAndType	#125:#222;//  signal:(J)V
const #326 = NameAndType	#32:#223;//  check:(J)Z
const #327 = NameAndType	#49:#224;//  end:(Z)V
const #328 = NameAndType	#54:#226;//  fdVal:(Ljava/io/FileDescriptor;)I
const #329 = NameAndType	#100:#226;//  localPortNumber:(Ljava/io/FileDescriptor;)I
const #330 = NameAndType	#41:#227;//  close:(Ljava/io/FileDescriptor;)V
const #331 = NameAndType	#48:#227;//  disconnect0:(Ljava/io/FileDescriptor;)V
const #332 = NameAndType	#106:#227;//  preClose:(Ljava/io/FileDescriptor;)V
const #333 = NameAndType	#115:#228;//  receive0:(Ljava/io/FileDescriptor;JIZ)I
const #334 = NameAndType	#42:#229;//  configureBlocking:(Ljava/io/FileDescriptor;Z)V
const #335 = NameAndType	#126:#230;//  socket:(Z)Ljava/io/FileDescriptor;
const #336 = NameAndType	#52:#231;//  equals:(Ljava/lang/Object;)Z
const #337 = NameAndType	#63:#232;//  getSecurityManager:()Ljava/lang/SecurityManager;
const #338 = NameAndType	#61:#233;//  getHostAddress:()Ljava/lang/String;
const #339 = NameAndType	#8:#234;//  "<init>":(Ljava/lang/String;)V
const #340 = NameAndType	#33:#235;//  checkAccept:(Ljava/lang/String;I)V
const #341 = NameAndType	#35:#235;//  checkConnect:(Ljava/lang/String;I)V
const #342 = NameAndType	#58:#237;//  getAddress:()Ljava/net/InetAddress;
const #343 = NameAndType	#37:#238;//  checkMulticast:(Ljava/net/InetAddress;)V
const #344 = NameAndType	#40:#241;//  clear:()Ljava/nio/Buffer;
const #345 = NameAndType	#56:#241;//  flip:()Ljava/nio/Buffer;
const #346 = NameAndType	#105:#242;//  position:(I)Ljava/nio/Buffer;
const #347 = NameAndType	#27:#243;//  allocateDirect:(I)Ljava/nio/ByteBuffer;
const #348 = NameAndType	#64:#243;//  getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
const #349 = NameAndType	#117:#245;//  releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
const #350 = NameAndType	#110:#246;//  read0:([Ljava/nio/ByteBuffer;)J
const #351 = NameAndType	#153:#246;//  write0:([Ljava/nio/ByteBuffer;)J
const #352 = NameAndType	#8:#249;//  "<init>":(Ljava/nio/channels/spi/SelectorProvider;)V
const #353 = NameAndType	#8:#250;//  "<init>":(Lsun/nio/ch/DatagramChannelImpl;)V
const #354 = NameAndType	#151:#251;//  translateReadyOps:(IILsun/nio/ch/SelectionKeyImpl;)Z
const #355 = NameAndType	#108:#254;//  putEventOps:(Lsun/nio/ch/SelectionKeyImpl;I)V
const #356 = NameAndType	#8:#256;//  "<init>":(Lsun/nio/ch/SocketOptsImpl$Dispatcher;)V
const #357 = NameAndType	#38:#257;//  class$:(Ljava/lang/String;)Ljava/lang/Class;
const #358 = NameAndType	#57:#257;//  forName:(Ljava/lang/String;)Ljava/lang/Class;
const #359 = NameAndType	#67:#258;//  initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
const #360 = NameAndType	#44:#259;//  create:(Lsun/nio/ch/DatagramChannelImpl;)Ljava/net/DatagramSocket;
const #361 = NameAndType	#29:#260;//  bind:(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
const #362 = NameAndType	#43:#261;//  connect:(Ljava/io/FileDescriptor;Ljava/net/InetAddress;II)I
const #363 = NameAndType	#99:#262;//  localAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
const #364 = NameAndType	#34:#263;//  checkAddress:(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
const #365 = NameAndType	#122:#264;//  send0:(Ljava/io/FileDescriptor;JILjava/net/SocketAddress;)I
const #366 = NameAndType	#114:#267;//  receive:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I
const #367 = NameAndType	#116:#268;//  receiveIntoNativeBuffer:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;II)I
const #368 = NameAndType	#107:#269;//  put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
const #369 = NameAndType	#129:#270;//  subsequence:([Ljava/nio/ByteBuffer;II)[Ljava/nio/ByteBuffer;
const #370 = NameAndType	#121:#272;//  send:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;Ljava/net/SocketAddress;)I
const #371 = NameAndType	#123:#272;//  sendFromNativeBuffer:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;Ljava/net/SocketAddress;)I
const #372 = NameAndType	#109:#273;//  read:(Ljava/io/FileDescriptor;[Ljava/nio/ByteBuffer;Lsun/nio/ch/NativeDispatcher;)J
const #373 = NameAndType	#152:#273;//  write:(Ljava/io/FileDescriptor;[Ljava/nio/ByteBuffer;Lsun/nio/ch/NativeDispatcher;)J
const #374 = NameAndType	#109:#274;//  read:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
const #375 = NameAndType	#152:#274;//  write:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
const #376 = Field	#185.#275;	//  sun/nio/ch/DatagramChannelImpl.ST_CONNECTED:I
const #377 = Field	#185.#276;	//  sun/nio/ch/DatagramChannelImpl.ST_UNCONNECTED:I
const #378 = Field	#185.#277;	//  sun/nio/ch/DatagramChannelImpl.cachedSenderPort:I
const #379 = Field	#185.#278;	//  sun/nio/ch/DatagramChannelImpl.fdVal:I
const #380 = Field	#185.#279;	//  sun/nio/ch/DatagramChannelImpl.state:I
const #381 = Field	#185.#280;	//  sun/nio/ch/DatagramChannelImpl.readerThread:J
const #382 = Field	#185.#281;	//  sun/nio/ch/DatagramChannelImpl.writerThread:J
const #383 = Field	#185.#282;	//  sun/nio/ch/DatagramChannelImpl.$assertionsDisabled:Z
const #384 = Field	#185.#283;	//  sun/nio/ch/DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
const #385 = Field	#185.#284;	//  sun/nio/ch/DatagramChannelImpl.class$sun$nio$ch$DatagramChannelImpl:Ljava/lang/Class;
const #386 = Field	#185.#285;	//  sun/nio/ch/DatagramChannelImpl.readLock:Ljava/lang/Object;
const #387 = Field	#185.#286;	//  sun/nio/ch/DatagramChannelImpl.stateLock:Ljava/lang/Object;
const #388 = Field	#185.#287;	//  sun/nio/ch/DatagramChannelImpl.writeLock:Ljava/lang/Object;
const #389 = Field	#185.#288;	//  sun/nio/ch/DatagramChannelImpl.socket:Ljava/net/DatagramSocket;
const #390 = Field	#185.#289;	//  sun/nio/ch/DatagramChannelImpl.cachedSenderInetAddress:Ljava/net/InetAddress;
const #391 = Field	#185.#290;	//  sun/nio/ch/DatagramChannelImpl.localAddress:Ljava/net/SocketAddress;
const #392 = Field	#185.#291;	//  sun/nio/ch/DatagramChannelImpl.remoteAddress:Ljava/net/SocketAddress;
const #393 = Field	#185.#292;	//  sun/nio/ch/DatagramChannelImpl.sender:Ljava/net/SocketAddress;
const #394 = Field	#185.#293;	//  sun/nio/ch/DatagramChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
const #395 = Field	#185.#295;	//  sun/nio/ch/DatagramChannelImpl.options:Lsun/nio/ch/SocketOpts$IP;
const #396 = Field	#196.#294;	//  sun/nio/ch/SelectionKeyImpl.selector:Lsun/nio/ch/SelectorImpl;
const #397 = Method	#164.#339;	//  java/io/IOException."<init>":(Ljava/lang/String;)V
const #398 = Method	#165.#304;	//  java/lang/AssertionError."<init>":()V
const #399 = Method	#166.#312;	//  java/lang/Class.desiredAssertionStatus:()Z
const #400 = Method	#166.#358;	//  java/lang/Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
const #401 = Method	#168.#304;	//  java/lang/Error."<init>":()V
const #402 = Method	#169.#339;	//  java/lang/IllegalArgumentException."<init>":(Ljava/lang/String;)V
const #403 = Method	#170.#339;	//  java/lang/IllegalStateException."<init>":(Ljava/lang/String;)V
const #404 = Method	#171.#323;	//  java/lang/Math.max:(II)I
const #405 = Method	#172.#304;	//  java/lang/NoClassDefFoundError."<init>":()V
const #406 = Method	#172.#359;	//  java/lang/NoClassDefFoundError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
const #407 = Method	#173.#304;	//  java/lang/NullPointerException."<init>":()V
const #408 = Method	#174.#304;	//  java/lang/Object."<init>":()V
const #409 = Method	#174.#336;	//  java/lang/Object.equals:(Ljava/lang/Object;)Z
const #410 = Method	#176.#320;	//  java/lang/SecurityManager.checkListen:(I)V
const #411 = Method	#176.#340;	//  java/lang/SecurityManager.checkAccept:(Ljava/lang/String;I)V
const #412 = Method	#176.#341;	//  java/lang/SecurityManager.checkConnect:(Ljava/lang/String;I)V
const #413 = Method	#176.#343;	//  java/lang/SecurityManager.checkMulticast:(Ljava/net/InetAddress;)V
const #414 = Method	#177.#337;	//  java/lang/System.getSecurityManager:()Ljava/lang/SecurityManager;
const #415 = Method	#178.#315;	//  java/net/InetAddress.isMulticastAddress:()Z
const #416 = Method	#178.#338;	//  java/net/InetAddress.getHostAddress:()Ljava/lang/String;
const #417 = Method	#179.#296;	//  java/net/InetSocketAddress.getPort:()I
const #418 = Method	#179.#342;	//  java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
const #419 = Method	#180.#298;	//  java/nio/ByteBuffer.limit:()I
const #420 = Method	#180.#299;	//  java/nio/ByteBuffer.position:()I
const #421 = Method	#180.#301;	//  java/nio/ByteBuffer.remaining:()I
const #422 = Method	#180.#317;	//  java/nio/ByteBuffer.isReadOnly:()Z
const #423 = Method	#180.#344;	//  java/nio/ByteBuffer.clear:()Ljava/nio/Buffer;
const #424 = Method	#180.#345;	//  java/nio/ByteBuffer.flip:()Ljava/nio/Buffer;
const #425 = Method	#180.#346;	//  java/nio/ByteBuffer.position:(I)Ljava/nio/Buffer;
const #426 = Method	#180.#347;	//  java/nio/ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
const #427 = Method	#180.#368;	//  java/nio/ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
const #428 = Method	#181.#304;	//  java/nio/channels/ClosedChannelException."<init>":()V
const #429 = Method	#182.#352;	//  java/nio/channels/DatagramChannel."<init>":(Ljava/nio/channels/spi/SelectorProvider;)V
const #430 = Method	#183.#304;	//  java/nio/channels/NotYetConnectedException."<init>":()V
const #431 = Method	#184.#304;	//  sun/nio/ch/AlreadyBoundException."<init>":()V
const #432 = Method	#185.#305;	//  sun/nio/ch/DatagramChannelImpl.begin:()V
const #433 = Method	#185.#306;	//  sun/nio/ch/DatagramChannelImpl.close:()V
const #434 = Method	#185.#307;	//  sun/nio/ch/DatagramChannelImpl.ensureOpen:()V
const #435 = Method	#185.#308;	//  sun/nio/ch/DatagramChannelImpl.ensureOpenAndUnconnected:()V
const #436 = Method	#185.#309;	//  sun/nio/ch/DatagramChannelImpl.initIDs:()V
const #437 = Method	#185.#310;	//  sun/nio/ch/DatagramChannelImpl.kill:()V
const #438 = Method	#185.#313;	//  sun/nio/ch/DatagramChannelImpl.isBound:()Z
const #439 = Method	#185.#314;	//  sun/nio/ch/DatagramChannelImpl.isConnected:()Z
const #440 = Method	#185.#316;	//  sun/nio/ch/DatagramChannelImpl.isOpen:()Z
const #441 = Method	#185.#318;	//  sun/nio/ch/DatagramChannelImpl.isRegistered:()Z
const #442 = Method	#185.#327;	//  sun/nio/ch/DatagramChannelImpl.end:(Z)V
const #443 = Method	#185.#331;	//  sun/nio/ch/DatagramChannelImpl.disconnect0:(Ljava/io/FileDescriptor;)V
const #444 = Method	#185.#333;	//  sun/nio/ch/DatagramChannelImpl.receive0:(Ljava/io/FileDescriptor;JIZ)I
const #445 = Method	#185.#350;	//  sun/nio/ch/DatagramChannelImpl.read0:([Ljava/nio/ByteBuffer;)J
const #446 = Method	#185.#351;	//  sun/nio/ch/DatagramChannelImpl.write0:([Ljava/nio/ByteBuffer;)J
const #447 = Method	#185.#354;	//  sun/nio/ch/DatagramChannelImpl.translateReadyOps:(IILsun/nio/ch/SelectionKeyImpl;)Z
const #448 = Method	#185.#357;	//  sun/nio/ch/DatagramChannelImpl.class$:(Ljava/lang/String;)Ljava/lang/Class;
const #449 = Method	#185.#365;	//  sun/nio/ch/DatagramChannelImpl.send0:(Ljava/io/FileDescriptor;JILjava/net/SocketAddress;)I
const #450 = Method	#185.#366;	//  sun/nio/ch/DatagramChannelImpl.receive:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I
const #451 = Method	#185.#367;	//  sun/nio/ch/DatagramChannelImpl.receiveIntoNativeBuffer:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;II)I
const #452 = Method	#185.#370;	//  sun/nio/ch/DatagramChannelImpl.send:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;Ljava/net/SocketAddress;)I
const #453 = Method	#185.#371;	//  sun/nio/ch/DatagramChannelImpl.sendFromNativeBuffer:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;Ljava/net/SocketAddress;)I
const #454 = Method	#186.#353;	//  sun/nio/ch/DatagramChannelImpl$1."<init>":(Lsun/nio/ch/DatagramChannelImpl;)V
const #455 = Method	#187.#304;	//  sun/nio/ch/DatagramDispatcher."<init>":()V
const #456 = Method	#188.#360;	//  sun/nio/ch/DatagramSocketAdaptor.create:(Lsun/nio/ch/DatagramChannelImpl;)Ljava/net/DatagramSocket;
const #457 = Method	#190.#319;	//  sun/nio/ch/IOStatus.normalize:(I)I
const #458 = Method	#190.#322;	//  sun/nio/ch/IOStatus.check:(I)Z
const #459 = Method	#190.#324;	//  sun/nio/ch/IOStatus.normalize:(J)J
const #460 = Method	#190.#326;	//  sun/nio/ch/IOStatus.check:(J)Z
const #461 = Method	#191.#328;	//  sun/nio/ch/IOUtil.fdVal:(Ljava/io/FileDescriptor;)I
const #462 = Method	#191.#334;	//  sun/nio/ch/IOUtil.configureBlocking:(Ljava/io/FileDescriptor;Z)V
const #463 = Method	#191.#372;	//  sun/nio/ch/IOUtil.read:(Ljava/io/FileDescriptor;[Ljava/nio/ByteBuffer;Lsun/nio/ch/NativeDispatcher;)J
const #464 = Method	#191.#373;	//  sun/nio/ch/IOUtil.write:(Ljava/io/FileDescriptor;[Ljava/nio/ByteBuffer;Lsun/nio/ch/NativeDispatcher;)J
const #465 = Method	#191.#374;	//  sun/nio/ch/IOUtil.read:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
const #466 = Method	#191.#375;	//  sun/nio/ch/IOUtil.write:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
const #467 = Method	#192.#330;	//  sun/nio/ch/NativeDispatcher.close:(Ljava/io/FileDescriptor;)V
const #468 = Method	#192.#332;	//  sun/nio/ch/NativeDispatcher.preClose:(Ljava/io/FileDescriptor;)V
const #469 = Method	#193.#303;	//  sun/nio/ch/NativeThread.current:()J
const #470 = Method	#193.#325;	//  sun/nio/ch/NativeThread.signal:(J)V
const #471 = Method	#194.#329;	//  sun/nio/ch/Net.localPortNumber:(Ljava/io/FileDescriptor;)I
const #472 = Method	#194.#335;	//  sun/nio/ch/Net.socket:(Z)Ljava/io/FileDescriptor;
const #473 = Method	#194.#361;	//  sun/nio/ch/Net.bind:(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
const #474 = Method	#194.#362;	//  sun/nio/ch/Net.connect:(Ljava/io/FileDescriptor;Ljava/net/InetAddress;II)I
const #475 = Method	#194.#363;	//  sun/nio/ch/Net.localAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
const #476 = Method	#194.#364;	//  sun/nio/ch/Net.checkAddress:(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
const #477 = Method	#196.#297;	//  sun/nio/ch/SelectionKeyImpl.interestOps:()I
const #478 = Method	#196.#300;	//  sun/nio/ch/SelectionKeyImpl.readyOps:()I
const #479 = Method	#196.#321;	//  sun/nio/ch/SelectionKeyImpl.readyOps:(I)V
const #480 = Method	#197.#355;	//  sun/nio/ch/SelectorImpl.putEventOps:(Lsun/nio/ch/SelectionKeyImpl;I)V
const #481 = Method	#199.#356;	//  sun/nio/ch/SocketOptsImpl$IP."<init>":(Lsun/nio/ch/SocketOptsImpl$Dispatcher;)V
const #482 = Method	#200.#311;	//  sun/nio/ch/Util.load:()V
const #483 = Method	#200.#348;	//  sun/nio/ch/Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
const #484 = Method	#200.#349;	//  sun/nio/ch/Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
const #485 = Method	#200.#369;	//  sun/nio/ch/Util.subsequence:([Ljava/nio/ByteBuffer;II)[Ljava/nio/ByteBuffer;
const #486 = InterfaceMethod	#189.#302;	//  sun/nio/ch/DirectBuffer.address:()J

{
java.io.FileDescriptor fd;


int fdVal;


static final boolean $assertionsDisabled;
  Synthetic: true


static java.lang.Class class$sun$nio$ch$DatagramChannelImpl;
  Synthetic: true


public int getFDVal();
  Code:
   Stack=1, Locals=1, Args_size=1
   0:	aload_0
   1:	getfield	#379; //Field fdVal:I
   4:	ireturn

  LineNumberTable: 
   line 647: 0

  Code:
   Stack=1, Locals=1, Args_size=1
   0:	aload_0
   1:	getfield	#379; //Field fdVal:I
   4:	ireturn
  LineNumberTable: 
   line 647: 0

static {};
  Code:
   Stack=2, Locals=0, Args_size=0
   0:	getstatic	#385; //Field class$sun$nio$ch$DatagramChannelImpl:Ljava/lang/Class;
   3:	ifnonnull	18
   6:	ldc	#5; //String sun.nio.ch.DatagramChannelImpl
   8:	invokestatic	#448; //Method class$:(Ljava/lang/String;)Ljava/lang/Class;
   11:	dup
   12:	putstatic	#385; //Field class$sun$nio$ch$DatagramChannelImpl:Ljava/lang/Class;
   15:	goto	21
   18:	getstatic	#385; //Field class$sun$nio$ch$DatagramChannelImpl:Ljava/lang/Class;
   21:	invokevirtual	#399; //Method java/lang/Class.desiredAssertionStatus:()Z
   24:	ifne	31
   27:	iconst_1
   28:	goto	32
   31:	iconst_0
   32:	putstatic	#383; //Field $assertionsDisabled:Z
   35:	new	#187; //class DatagramDispatcher
   38:	dup
   39:	invokespecial	#455; //Method sun/nio/ch/DatagramDispatcher."<init>":()V
   42:	putstatic	#394; //Field nd:Lsun/nio/ch/NativeDispatcher;
   45:	iconst_0
   46:	putstatic	#377; //Field ST_UNCONNECTED:I
   49:	iconst_1
   50:	putstatic	#376; //Field ST_CONNECTED:I
   53:	invokestatic	#482; //Method sun/nio/ch/Util.load:()V
   56:	invokestatic	#436; //Method initIDs:()V
   59:	return

  LineNumberTable: 
   line 23: 0
   line 29: 35
   line 61: 45
   line 62: 49
   line 667: 53
   line 668: 56
   line 669: 59

  Code:
   Stack=2, Locals=0, Args_size=0
   0:	getstatic	#385; //Field class$sun$nio$ch$DatagramChannelImpl:Ljava/lang/Class;
   3:	ifnonnull	18
   6:	ldc	#5; //String sun.nio.ch.DatagramChannelImpl
   8:	invokestatic	#448; //Method class$:(Ljava/lang/String;)Ljava/lang/Class;
   11:	dup
   12:	putstatic	#385; //Field class$sun$nio$ch$DatagramChannelImpl:Ljava/lang/Class;
   15:	goto	21
   18:	getstatic	#385; //Field class$sun$nio$ch$DatagramChannelImpl:Ljava/lang/Class;
   21:	invokevirtual	#399; //Method java/lang/Class.desiredAssertionStatus:()Z
   24:	ifne	31
   27:	iconst_1
   28:	goto	32
   31:	iconst_0
   32:	putstatic	#383; //Field $assertionsDisabled:Z
   35:	new	#187; //class DatagramDispatcher
   38:	dup
   39:	invokespecial	#455; //Method sun/nio/ch/DatagramDispatcher."<init>":()V
   42:	putstatic	#394; //Field nd:Lsun/nio/ch/NativeDispatcher;
   45:	iconst_0
   46:	putstatic	#377; //Field ST_UNCONNECTED:I
   49:	iconst_1
   50:	putstatic	#376; //Field ST_CONNECTED:I
   53:	invokestatic	#482; //Method sun/nio/ch/Util.load:()V
   56:	invokestatic	#436; //Method initIDs:()V
   59:	return
  LineNumberTable: 
   line 23: 0
   line 29: 35
   line 61: 45
   line 62: 49
   line 667: 53
   line 668: 56
   line 669: 59

void ensureOpenAndUnconnected();
   throws java/io/IOException
  Code:
   Stack=3, Locals=3, Args_size=1
   0:	aload_0
   1:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   4:	dup
   5:	astore_1
   6:	monitorenter
   7:	aload_0
   8:	invokevirtual	#440; //Method isOpen:()Z
   11:	ifne	22
   14:	new	#181; //class ClosedChannelException
   17:	dup
   18:	invokespecial	#428; //Method java/nio/channels/ClosedChannelException."<init>":()V
   21:	athrow
   22:	aload_0
   23:	getfield	#380; //Field state:I
   26:	getstatic	#377; //Field ST_UNCONNECTED:I
   29:	if_icmpeq	42
   32:	new	#170; //class IllegalStateException
   35:	dup
   36:	ldc	#1; //String Connect already invoked
   38:	invokespecial	#403; //Method java/lang/IllegalStateException."<init>":(Ljava/lang/String;)V
   41:	athrow
   42:	aload_1
   43:	monitorexit
   44:	goto	52
   47:	astore_2
   48:	aload_1
   49:	monitorexit
   50:	aload_2
   51:	athrow
   52:	return
  Exception table:
   from   to  target type
     7    44    47   any
    47    50    47   any

  LineNumberTable: 
   line 493: 0
   line 494: 7
   line 495: 14
   line 496: 22
   line 497: 32
   line 498: 42
   line 499: 52

  Exceptions: 
   throws java/io/IOException
  Code:
   Stack=3, Locals=3, Args_size=1
   0:	aload_0
   1:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   4:	dup
   5:	astore_1
   6:	monitorenter
   7:	aload_0
   8:	invokevirtual	#440; //Method isOpen:()Z
   11:	ifne	22
   14:	new	#181; //class ClosedChannelException
   17:	dup
   18:	invokespecial	#428; //Method java/nio/channels/ClosedChannelException."<init>":()V
   21:	athrow
   22:	aload_0
   23:	getfield	#380; //Field state:I
   26:	getstatic	#377; //Field ST_UNCONNECTED:I
   29:	if_icmpeq	42
   32:	new	#170; //class IllegalStateException
   35:	dup
   36:	ldc	#1; //String Connect already invoked
   38:	invokespecial	#403; //Method java/lang/IllegalStateException."<init>":(Ljava/lang/String;)V
   41:	athrow
   42:	aload_1
   43:	monitorexit
   44:	goto	52
   47:	astore_2
   48:	aload_1
   49:	monitorexit
   50:	aload_2
   51:	athrow
   52:	return
  Exception table:
   from   to  target type
     7    44    47   any
    47    50    47   any
  LineNumberTable: 
   line 493: 0
   line 494: 7
   line 495: 14
   line 496: 22
   line 497: 32
   line 498: 42
   line 499: 52

protected void finalize();
   throws java/io/IOException
  Code:
   Stack=1, Locals=1, Args_size=1
   0:	aload_0
   1:	invokevirtual	#433; //Method close:()V
   4:	return

  LineNumberTable: 
   line 581: 0
   line 582: 4

  Exceptions: 
   throws java/io/IOException
  Code:
   Stack=1, Locals=1, Args_size=1
   0:	aload_0
   1:	invokevirtual	#433; //Method close:()V
   4:	return
  LineNumberTable: 
   line 581: 0
   line 582: 4

protected void implCloseSelectableChannel();
   throws java/io/IOException
  Code:
   Stack=4, Locals=5, Args_size=1
   0:	aload_0
   1:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   4:	dup
   5:	astore_1
   6:	monitorenter
   7:	getstatic	#394; //Field nd:Lsun/nio/ch/NativeDispatcher;
   10:	aload_0
   11:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   14:	invokevirtual	#468; //Method sun/nio/ch/NativeDispatcher.preClose:(Ljava/io/FileDescriptor;)V
   17:	aload_0
   18:	getfield	#381; //Field readerThread:J
   21:	dup2
   22:	lstore_2
   23:	lconst_0
   24:	lcmp
   25:	ifeq	32
   28:	lload_2
   29:	invokestatic	#470; //Method sun/nio/ch/NativeThread.signal:(J)V
   32:	aload_0
   33:	getfield	#382; //Field writerThread:J
   36:	dup2
   37:	lstore_2
   38:	lconst_0
   39:	lcmp
   40:	ifeq	47
   43:	lload_2
   44:	invokestatic	#470; //Method sun/nio/ch/NativeThread.signal:(J)V
   47:	aload_0
   48:	invokevirtual	#441; //Method isRegistered:()Z
   51:	ifne	58
   54:	aload_0
   55:	invokevirtual	#437; //Method kill:()V
   58:	aload_1
   59:	monitorexit
   60:	goto	70
   63:	astore	4
   65:	aload_1
   66:	monitorexit
   67:	aload	4
   69:	athrow
   70:	return
  Exception table:
   from   to  target type
     7    60    63   any
    63    67    63   any

  LineNumberTable: 
   line 554: 0
   line 555: 7
   line 557: 17
   line 558: 28
   line 559: 32
   line 560: 43
   line 561: 47
   line 562: 54
   line 563: 58
   line 564: 70

  Exceptions: 
   throws java/io/IOException
  Code:
   Stack=4, Locals=5, Args_size=1
   0:	aload_0
   1:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   4:	dup
   5:	astore_1
   6:	monitorenter
   7:	getstatic	#394; //Field nd:Lsun/nio/ch/NativeDispatcher;
   10:	aload_0
   11:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   14:	invokevirtual	#468; //Method sun/nio/ch/NativeDispatcher.preClose:(Ljava/io/FileDescriptor;)V
   17:	aload_0
   18:	getfield	#381; //Field readerThread:J
   21:	dup2
   22:	lstore_2
   23:	lconst_0
   24:	lcmp
   25:	ifeq	32
   28:	lload_2
   29:	invokestatic	#470; //Method sun/nio/ch/NativeThread.signal:(J)V
   32:	aload_0
   33:	getfield	#382; //Field writerThread:J
   36:	dup2
   37:	lstore_2
   38:	lconst_0
   39:	lcmp
   40:	ifeq	47
   43:	lload_2
   44:	invokestatic	#470; //Method sun/nio/ch/NativeThread.signal:(J)V
   47:	aload_0
   48:	invokevirtual	#441; //Method isRegistered:()Z
   51:	ifne	58
   54:	aload_0
   55:	invokevirtual	#437; //Method kill:()V
   58:	aload_1
   59:	monitorexit
   60:	goto	70
   63:	astore	4
   65:	aload_1
   66:	monitorexit
   67:	aload	4
   69:	athrow
   70:	return
  Exception table:
   from   to  target type
     7    60    63   any
    63    67    63   any
  LineNumberTable: 
   line 554: 0
   line 555: 7
   line 557: 17
   line 558: 28
   line 559: 32
   line 560: 43
   line 561: 47
   line 562: 54
   line 563: 58
   line 564: 70

public void kill();
   throws java/io/IOException
  Code:
   Stack=2, Locals=3, Args_size=1
   0:	aload_0
   1:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   4:	dup
   5:	astore_1
   6:	monitorenter
   7:	aload_0
   8:	getfield	#380; //Field state:I
   11:	iconst_2
   12:	if_icmpne	18
   15:	aload_1
   16:	monitorexit
   17:	return
   18:	aload_0
   19:	getfield	#380; //Field state:I
   22:	iconst_m1
   23:	if_icmpne	34
   26:	aload_0
   27:	iconst_2
   28:	putfield	#380; //Field state:I
   31:	aload_1
   32:	monitorexit
   33:	return
   34:	getstatic	#383; //Field $assertionsDisabled:Z
   37:	ifne	62
   40:	aload_0
   41:	invokevirtual	#440; //Method isOpen:()Z
   44:	ifne	54
   47:	aload_0
   48:	invokevirtual	#441; //Method isRegistered:()Z
   51:	ifeq	62
   54:	new	#165; //class AssertionError
   57:	dup
   58:	invokespecial	#398; //Method java/lang/AssertionError."<init>":()V
   61:	athrow
   62:	getstatic	#394; //Field nd:Lsun/nio/ch/NativeDispatcher;
   65:	aload_0
   66:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   69:	invokevirtual	#467; //Method sun/nio/ch/NativeDispatcher.close:(Ljava/io/FileDescriptor;)V
   72:	aload_0
   73:	iconst_2
   74:	putfield	#380; //Field state:I
   77:	aload_1
   78:	monitorexit
   79:	goto	87
   82:	astore_2
   83:	aload_1
   84:	monitorexit
   85:	aload_2
   86:	athrow
   87:	return
  Exception table:
   from   to  target type
     7    17    82   any
    18    33    82   any
    34    79    82   any
    82    85    82   any

  LineNumberTable: 
   line 567: 0
   line 568: 7
   line 569: 15
   line 570: 18
   line 571: 26
   line 572: 31
   line 574: 34
   line 575: 62
   line 576: 72
   line 577: 77
   line 578: 87

  Exceptions: 
   throws java/io/IOException
  Code:
   Stack=2, Locals=3, Args_size=1
   0:	aload_0
   1:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   4:	dup
   5:	astore_1
   6:	monitorenter
   7:	aload_0
   8:	getfield	#380; //Field state:I
   11:	iconst_2
   12:	if_icmpne	18
   15:	aload_1
   16:	monitorexit
   17:	return
   18:	aload_0
   19:	getfield	#380; //Field state:I
   22:	iconst_m1
   23:	if_icmpne	34
   26:	aload_0
   27:	iconst_2
   28:	putfield	#380; //Field state:I
   31:	aload_1
   32:	monitorexit
   33:	return
   34:	getstatic	#383; //Field $assertionsDisabled:Z
   37:	ifne	62
   40:	aload_0
   41:	invokevirtual	#440; //Method isOpen:()Z
   44:	ifne	54
   47:	aload_0
   48:	invokevirtual	#441; //Method isRegistered:()Z
   51:	ifeq	62
   54:	new	#165; //class AssertionError
   57:	dup
   58:	invokespecial	#398; //Method java/lang/AssertionError."<init>":()V
   61:	athrow
   62:	getstatic	#394; //Field nd:Lsun/nio/ch/NativeDispatcher;
   65:	aload_0
   66:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   69:	invokevirtual	#467; //Method sun/nio/ch/NativeDispatcher.close:(Ljava/io/FileDescriptor;)V
   72:	aload_0
   73:	iconst_2
   74:	putfield	#380; //Field state:I
   77:	aload_1
   78:	monitorexit
   79:	goto	87
   82:	astore_2
   83:	aload_1
   84:	monitorexit
   85:	aload_2
   86:	athrow
   87:	return
  Exception table:
   from   to  target type
     7    17    82   any
    18    33    82   any
    34    79    82   any
    82    85    82   any
  LineNumberTable: 
   line 567: 0
   line 568: 7
   line 569: 15
   line 570: 18
   line 571: 26
   line 572: 31
   line 574: 34
   line 575: 62
   line 576: 72
   line 577: 77
   line 578: 87

public boolean isBound();
  Code:
   Stack=1, Locals=1, Args_size=1
   0:	aload_0
   1:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   4:	invokestatic	#471; //Method sun/nio/ch/Net.localPortNumber:(Ljava/io/FileDescriptor;)I
   7:	ifeq	14
   10:	iconst_1
   11:	goto	15
   14:	iconst_0
   15:	ireturn

  LineNumberTable: 
   line 443: 0

  Code:
   Stack=1, Locals=1, Args_size=1
   0:	aload_0
   1:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   4:	invokestatic	#471; //Method sun/nio/ch/Net.localPortNumber:(Ljava/io/FileDescriptor;)I
   7:	ifeq	14
   10:	iconst_1
   11:	goto	15
   14:	iconst_0
   15:	ireturn
  LineNumberTable: 
   line 443: 0

public boolean isConnected();
  Code:
   Stack=2, Locals=3, Args_size=1
   0:	aload_0
   1:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   4:	dup
   5:	astore_1
   6:	monitorenter
   7:	aload_0
   8:	getfield	#380; //Field state:I
   11:	getstatic	#376; //Field ST_CONNECTED:I
   14:	if_icmpne	21
   17:	iconst_1
   18:	goto	22
   21:	iconst_0
   22:	aload_1
   23:	monitorexit
   24:	ireturn
   25:	astore_2
   26:	aload_1
   27:	monitorexit
   28:	aload_2
   29:	athrow
  Exception table:
   from   to  target type
     7    24    25   any
    25    28    25   any

  LineNumberTable: 
   line 487: 0
   line 488: 7
   line 489: 25

  Code:
   Stack=2, Locals=3, Args_size=1
   0:	aload_0
   1:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   4:	dup
   5:	astore_1
   6:	monitorenter
   7:	aload_0
   8:	getfield	#380; //Field state:I
   11:	getstatic	#376; //Field ST_CONNECTED:I
   14:	if_icmpne	21
   17:	iconst_1
   18:	goto	22
   21:	iconst_0
   22:	aload_1
   23:	monitorexit
   24:	ireturn
   25:	astore_2
   26:	aload_1
   27:	monitorexit
   28:	aload_2
   29:	athrow
  Exception table:
   from   to  target type
     7    24    25   any
    25    28    25   any
  LineNumberTable: 
   line 487: 0
   line 488: 7
   line 489: 25

protected void implConfigureBlocking(boolean);
   throws java/io/IOException
  Code:
   Stack=2, Locals=2, Args_size=2
   0:	aload_0
   1:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   4:	iload_1
   5:	invokestatic	#462; //Method sun/nio/ch/IOUtil.configureBlocking:(Ljava/io/FileDescriptor;Z)V
   8:	return

  LineNumberTable: 
   line 419: 0
   line 420: 8

  Exceptions: 
   throws java/io/IOException
  Code:
   Stack=2, Locals=2, Args_size=2
   0:	aload_0
   1:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   4:	iload_1
   5:	invokestatic	#462; //Method sun/nio/ch/IOUtil.configureBlocking:(Ljava/io/FileDescriptor;Z)V
   8:	return
  LineNumberTable: 
   line 419: 0
   line 420: 8

public java.io.FileDescriptor getFD();
  Code:
   Stack=1, Locals=1, Args_size=1
   0:	aload_0
   1:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   4:	areturn

  LineNumberTable: 
   line 643: 0

  Code:
   Stack=1, Locals=1, Args_size=1
   0:	aload_0
   1:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   4:	areturn
  LineNumberTable: 
   line 643: 0

public java.net.DatagramSocket socket();
  Code:
   Stack=2, Locals=3, Args_size=1
   0:	aload_0
   1:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   4:	dup
   5:	astore_1
   6:	monitorenter
   7:	aload_0
   8:	getfield	#389; //Field socket:Ljava/net/DatagramSocket;
   11:	ifnonnull	22
   14:	aload_0
   15:	aload_0
   16:	invokestatic	#456; //Method sun/nio/ch/DatagramSocketAdaptor.create:(Lsun/nio/ch/DatagramChannelImpl;)Ljava/net/DatagramSocket;
   19:	putfield	#389; //Field socket:Ljava/net/DatagramSocket;
   22:	aload_0
   23:	getfield	#389; //Field socket:Ljava/net/DatagramSocket;
   26:	aload_1
   27:	monitorexit
   28:	areturn
   29:	astore_2
   30:	aload_1
   31:	monitorexit
   32:	aload_2
   33:	athrow
  Exception table:
   from   to  target type
     7    28    29   any
    29    32    29   any

  LineNumberTable: 
   line 89: 0
   line 90: 7
   line 91: 14
   line 92: 22
   line 93: 29

  Code:
   Stack=2, Locals=3, Args_size=1
   0:	aload_0
   1:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   4:	dup
   5:	astore_1
   6:	monitorenter
   7:	aload_0
   8:	getfield	#389; //Field socket:Ljava/net/DatagramSocket;
   11:	ifnonnull	22
   14:	aload_0
   15:	aload_0
   16:	invokestatic	#456; //Method sun/nio/ch/DatagramSocketAdaptor.create:(Lsun/nio/ch/DatagramChannelImpl;)Ljava/net/DatagramSocket;
   19:	putfield	#389; //Field socket:Ljava/net/DatagramSocket;
   22:	aload_0
   23:	getfield	#389; //Field socket:Ljava/net/DatagramSocket;
   26:	aload_1
   27:	monitorexit
   28:	areturn
   29:	astore_2
   30:	aload_1
   31:	monitorexit
   32:	aload_2
   33:	athrow
  Exception table:
   from   to  target type
     7    28    29   any
    29    32    29   any
  LineNumberTable: 
   line 89: 0
   line 90: 7
   line 91: 14
   line 92: 22
   line 93: 29

public java.net.SocketAddress localAddress();
  Code:
   Stack=3, Locals=5, Args_size=1
   0:	aload_0
   1:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   4:	dup
   5:	astore_1
   6:	monitorenter
   7:	aload_0
   8:	invokevirtual	#439; //Method isConnected:()Z
   11:	ifeq	32
   14:	aload_0
   15:	getfield	#391; //Field localAddress:Ljava/net/SocketAddress;
   18:	ifnonnull	32
   21:	aload_0
   22:	aload_0
   23:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   26:	invokestatic	#475; //Method sun/nio/ch/Net.localAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
   29:	putfield	#391; //Field localAddress:Ljava/net/SocketAddress;
   32:	invokestatic	#414; //Method java/lang/System.getSecurityManager:()Ljava/lang/SecurityManager;
   35:	astore_2
   36:	aload_2
   37:	ifnull	60
   40:	aload_0
   41:	getfield	#391; //Field localAddress:Ljava/net/SocketAddress;
   44:	checkcast	#179; //class InetSocketAddress
   47:	astore_3
   48:	aload_2
   49:	aload_3
   50:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   53:	invokevirtual	#416; //Method java/net/InetAddress.getHostAddress:()Ljava/lang/String;
   56:	iconst_m1
   57:	invokevirtual	#412; //Method java/lang/SecurityManager.checkConnect:(Ljava/lang/String;I)V
   60:	aload_0
   61:	getfield	#391; //Field localAddress:Ljava/net/SocketAddress;
   64:	aload_1
   65:	monitorexit
   66:	areturn
   67:	astore	4
   69:	aload_1
   70:	monitorexit
   71:	aload	4
   73:	athrow
  Exception table:
   from   to  target type
     7    66    67   any
    67    71    67   any

  LineNumberTable: 
   line 447: 0
   line 448: 7
   line 451: 21
   line 453: 32
   line 454: 36
   line 455: 40
   line 456: 48
   line 458: 60
   line 459: 67

  Code:
   Stack=3, Locals=5, Args_size=1
   0:	aload_0
   1:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   4:	dup
   5:	astore_1
   6:	monitorenter
   7:	aload_0
   8:	invokevirtual	#439; //Method isConnected:()Z
   11:	ifeq	32
   14:	aload_0
   15:	getfield	#391; //Field localAddress:Ljava/net/SocketAddress;
   18:	ifnonnull	32
   21:	aload_0
   22:	aload_0
   23:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   26:	invokestatic	#475; //Method sun/nio/ch/Net.localAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
   29:	putfield	#391; //Field localAddress:Ljava/net/SocketAddress;
   32:	invokestatic	#414; //Method java/lang/System.getSecurityManager:()Ljava/lang/SecurityManager;
   35:	astore_2
   36:	aload_2
   37:	ifnull	60
   40:	aload_0
   41:	getfield	#391; //Field localAddress:Ljava/net/SocketAddress;
   44:	checkcast	#179; //class InetSocketAddress
   47:	astore_3
   48:	aload_2
   49:	aload_3
   50:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   53:	invokevirtual	#416; //Method java/net/InetAddress.getHostAddress:()Ljava/lang/String;
   56:	iconst_m1
   57:	invokevirtual	#412; //Method java/lang/SecurityManager.checkConnect:(Ljava/lang/String;I)V
   60:	aload_0
   61:	getfield	#391; //Field localAddress:Ljava/net/SocketAddress;
   64:	aload_1
   65:	monitorexit
   66:	areturn
   67:	astore	4
   69:	aload_1
   70:	monitorexit
   71:	aload	4
   73:	athrow
  Exception table:
   from   to  target type
     7    66    67   any
    67    71    67   any
  LineNumberTable: 
   line 447: 0
   line 448: 7
   line 451: 21
   line 453: 32
   line 454: 36
   line 455: 40
   line 456: 48
   line 458: 60
   line 459: 67

public java.net.SocketAddress remoteAddress();
  Code:
   Stack=2, Locals=3, Args_size=1
   0:	aload_0
   1:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   4:	dup
   5:	astore_1
   6:	monitorenter
   7:	aload_0
   8:	getfield	#392; //Field remoteAddress:Ljava/net/SocketAddress;
   11:	aload_1
   12:	monitorexit
   13:	areturn
   14:	astore_2
   15:	aload_1
   16:	monitorexit
   17:	aload_2
   18:	athrow
  Exception table:
   from   to  target type
     7    13    14   any
    14    17    14   any

  LineNumberTable: 
   line 463: 0
   line 464: 7
   line 465: 14

  Code:
   Stack=2, Locals=3, Args_size=1
   0:	aload_0
   1:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   4:	dup
   5:	astore_1
   6:	monitorenter
   7:	aload_0
   8:	getfield	#392; //Field remoteAddress:Ljava/net/SocketAddress;
   11:	aload_1
   12:	monitorexit
   13:	areturn
   14:	astore_2
   15:	aload_1
   16:	monitorexit
   17:	aload_2
   18:	athrow
  Exception table:
   from   to  target type
     7    13    14   any
    14    17    14   any
  LineNumberTable: 
   line 463: 0
   line 464: 7
   line 465: 14

public void bind(java.net.SocketAddress);
   throws java/io/IOException
  Code:
   Stack=3, Locals=10, Args_size=2
   0:	aload_0
   1:	getfield	#386; //Field readLock:Ljava/lang/Object;
   4:	dup
   5:	astore_2
   6:	monitorenter
   7:	aload_0
   8:	getfield	#388; //Field writeLock:Ljava/lang/Object;
   11:	dup
   12:	astore_3
   13:	monitorenter
   14:	aload_0
   15:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   18:	dup
   19:	astore	4
   21:	monitorenter
   22:	aload_0
   23:	invokespecial	#434; //Method ensureOpen:()V
   26:	aload_0
   27:	invokevirtual	#438; //Method isBound:()Z
   30:	ifeq	41
   33:	new	#184; //class AlreadyBoundException
   36:	dup
   37:	invokespecial	#431; //Method sun/nio/ch/AlreadyBoundException."<init>":()V
   40:	athrow
   41:	aload_1
   42:	invokestatic	#476; //Method sun/nio/ch/Net.checkAddress:(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
   45:	astore	5
   47:	invokestatic	#414; //Method java/lang/System.getSecurityManager:()Ljava/lang/SecurityManager;
   50:	astore	6
   52:	aload	6
   54:	ifnull	67
   57:	aload	6
   59:	aload	5
   61:	invokevirtual	#417; //Method java/net/InetSocketAddress.getPort:()I
   64:	invokevirtual	#410; //Method java/lang/SecurityManager.checkListen:(I)V
   67:	aload_0
   68:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   71:	aload	5
   73:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   76:	aload	5
   78:	invokevirtual	#417; //Method java/net/InetSocketAddress.getPort:()I
   81:	invokestatic	#473; //Method sun/nio/ch/Net.bind:(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
   84:	aload_0
   85:	aload_0
   86:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   89:	invokestatic	#475; //Method sun/nio/ch/Net.localAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
   92:	putfield	#391; //Field localAddress:Ljava/net/SocketAddress;
   95:	aload	4
   97:	monitorexit
   98:	goto	109
   101:	astore	7
   103:	aload	4
   105:	monitorexit
   106:	aload	7
   108:	athrow
   109:	aload_3
   110:	monitorexit
   111:	goto	121
   114:	astore	8
   116:	aload_3
   117:	monitorexit
   118:	aload	8
   120:	athrow
   121:	aload_2
   122:	monitorexit
   123:	goto	133
   126:	astore	9
   128:	aload_2
   129:	monitorexit
   130:	aload	9
   132:	athrow
   133:	return
  Exception table:
   from   to  target type
    22    98   101   any
   101   106   101   any
    14   111   114   any
   114   118   114   any
     7   123   126   any
   126   130   126   any

  LineNumberTable: 
   line 469: 0
   line 470: 7
   line 471: 14
   line 472: 22
   line 473: 26
   line 474: 33
   line 475: 41
   line 476: 47
   line 477: 52
   line 478: 57
   line 479: 67
   line 480: 84
   line 481: 95
   line 482: 109
   line 483: 121
   line 484: 133

  Exceptions: 
   throws java/io/IOException
  Code:
   Stack=3, Locals=10, Args_size=2
   0:	aload_0
   1:	getfield	#386; //Field readLock:Ljava/lang/Object;
   4:	dup
   5:	astore_2
   6:	monitorenter
   7:	aload_0
   8:	getfield	#388; //Field writeLock:Ljava/lang/Object;
   11:	dup
   12:	astore_3
   13:	monitorenter
   14:	aload_0
   15:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   18:	dup
   19:	astore	4
   21:	monitorenter
   22:	aload_0
   23:	invokespecial	#434; //Method ensureOpen:()V
   26:	aload_0
   27:	invokevirtual	#438; //Method isBound:()Z
   30:	ifeq	41
   33:	new	#184; //class AlreadyBoundException
   36:	dup
   37:	invokespecial	#431; //Method sun/nio/ch/AlreadyBoundException."<init>":()V
   40:	athrow
   41:	aload_1
   42:	invokestatic	#476; //Method sun/nio/ch/Net.checkAddress:(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
   45:	astore	5
   47:	invokestatic	#414; //Method java/lang/System.getSecurityManager:()Ljava/lang/SecurityManager;
   50:	astore	6
   52:	aload	6
   54:	ifnull	67
   57:	aload	6
   59:	aload	5
   61:	invokevirtual	#417; //Method java/net/InetSocketAddress.getPort:()I
   64:	invokevirtual	#410; //Method java/lang/SecurityManager.checkListen:(I)V
   67:	aload_0
   68:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   71:	aload	5
   73:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   76:	aload	5
   78:	invokevirtual	#417; //Method java/net/InetSocketAddress.getPort:()I
   81:	invokestatic	#473; //Method sun/nio/ch/Net.bind:(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
   84:	aload_0
   85:	aload_0
   86:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   89:	invokestatic	#475; //Method sun/nio/ch/Net.localAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
   92:	putfield	#391; //Field localAddress:Ljava/net/SocketAddress;
   95:	aload	4
   97:	monitorexit
   98:	goto	109
   101:	astore	7
   103:	aload	4
   105:	monitorexit
   106:	aload	7
   108:	athrow
   109:	aload_3
   110:	monitorexit
   111:	goto	121
   114:	astore	8
   116:	aload_3
   117:	monitorexit
   118:	aload	8
   120:	athrow
   121:	aload_2
   122:	monitorexit
   123:	goto	133
   126:	astore	9
   128:	aload_2
   129:	monitorexit
   130:	aload	9
   132:	athrow
   133:	return
  Exception table:
   from   to  target type
    22    98   101   any
   101   106   101   any
    14   111   114   any
   114   118   114   any
     7   123   126   any
   126   130   126   any
  LineNumberTable: 
   line 469: 0
   line 470: 7
   line 471: 14
   line 472: 22
   line 473: 26
   line 474: 33
   line 475: 41
   line 476: 47
   line 477: 52
   line 478: 57
   line 479: 67
   line 480: 84
   line 481: 95
   line 482: 109
   line 483: 121
   line 484: 133

public int read(java.nio.ByteBuffer);
   throws java/io/IOException
  Code:
   Stack=6, Locals=8, Args_size=2
   0:	aload_1
   1:	ifnonnull	12
   4:	new	#173; //class NullPointerException
   7:	dup
   8:	invokespecial	#407; //Method java/lang/NullPointerException."<init>":()V
   11:	athrow
   12:	aload_0
   13:	getfield	#386; //Field readLock:Ljava/lang/Object;
   16:	dup
   17:	astore_2
   18:	monitorenter
   19:	aload_0
   20:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   23:	dup
   24:	astore_3
   25:	monitorenter
   26:	aload_0
   27:	invokespecial	#434; //Method ensureOpen:()V
   30:	aload_0
   31:	invokevirtual	#439; //Method isConnected:()Z
   34:	ifne	45
   37:	new	#183; //class NotYetConnectedException
   40:	dup
   41:	invokespecial	#430; //Method java/nio/channels/NotYetConnectedException."<init>":()V
   44:	athrow
   45:	aload_3
   46:	monitorexit
   47:	goto	57
   50:	astore	4
   52:	aload_3
   53:	monitorexit
   54:	aload	4
   56:	athrow
   57:	iconst_0
   58:	istore_3
   59:	aload_0
   60:	invokevirtual	#432; //Method begin:()V
   63:	aload_0
   64:	invokevirtual	#440; //Method isOpen:()Z
   67:	ifne	81
   70:	iconst_0
   71:	istore	4
   73:	jsr	142
   76:	aload_2
   77:	monitorexit
   78:	iload	4
   80:	ireturn
   81:	aload_0
   82:	invokestatic	#469; //Method sun/nio/ch/NativeThread.current:()J
   85:	putfield	#381; //Field readerThread:J
   88:	aload_0
   89:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   92:	aload_1
   93:	ldc2_w	#162; //long -1l
   96:	getstatic	#394; //Field nd:Lsun/nio/ch/NativeDispatcher;
   99:	aload_0
   100:	getfield	#386; //Field readLock:Ljava/lang/Object;
   103:	invokestatic	#465; //Method sun/nio/ch/IOUtil.read:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
   106:	istore_3
   107:	iload_3
   108:	bipush	-3
   110:	if_icmpne	120
   113:	aload_0
   114:	invokevirtual	#440; //Method isOpen:()Z
   117:	ifne	88
   120:	iload_3
   121:	invokestatic	#457; //Method sun/nio/ch/IOStatus.normalize:(I)I
   124:	istore	4
   126:	jsr	142
   129:	aload_2
   130:	monitorexit
   131:	iload	4
   133:	ireturn
   134:	astore	5
   136:	jsr	142
   139:	aload	5
   141:	athrow
   142:	astore	6
   144:	aload_0
   145:	lconst_0
   146:	putfield	#381; //Field readerThread:J
   149:	aload_0
   150:	iload_3
   151:	ifgt	160
   154:	iload_3
   155:	bipush	-2
   157:	if_icmpne	164
   160:	iconst_1
   161:	goto	165
   164:	iconst_0
   165:	invokevirtual	#442; //Method end:(Z)V
   168:	getstatic	#383; //Field $assertionsDisabled:Z
   171:	ifne	189
   174:	iload_3
   175:	invokestatic	#458; //Method sun/nio/ch/IOStatus.check:(I)Z
   178:	ifne	189
   181:	new	#165; //class AssertionError
   184:	dup
   185:	invokespecial	#398; //Method java/lang/AssertionError."<init>":()V
   188:	athrow
   189:	ret	6
   191:	astore	7
   193:	aload_2
   194:	monitorexit
   195:	aload	7
   197:	athrow
  Exception table:
   from   to  target type
    26    47    50   any
    50    54    50   any
    59    76   134   any
    81   129   134   any
   134   139   134   any
    19    78   191   any
    81   131   191   any
   134   195   191   any

  LineNumberTable: 
   line 297: 0
   line 298: 4
   line 299: 12
   line 300: 19
   line 301: 26
   line 302: 30
   line 303: 37
   line 304: 45
   line 305: 57
   line 307: 59
   line 308: 63
   line 309: 70
   line 310: 81
   line 312: 88
   line 313: 107
   line 314: 120
   line 316: 134
   line 317: 149
   line 318: 168
   line 320: 191

  Exceptions: 
   throws java/io/IOException
  Code:
   Stack=6, Locals=8, Args_size=2
   0:	aload_1
   1:	ifnonnull	12
   4:	new	#173; //class NullPointerException
   7:	dup
   8:	invokespecial	#407; //Method java/lang/NullPointerException."<init>":()V
   11:	athrow
   12:	aload_0
   13:	getfield	#386; //Field readLock:Ljava/lang/Object;
   16:	dup
   17:	astore_2
   18:	monitorenter
   19:	aload_0
   20:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   23:	dup
   24:	astore_3
   25:	monitorenter
   26:	aload_0
   27:	invokespecial	#434; //Method ensureOpen:()V
   30:	aload_0
   31:	invokevirtual	#439; //Method isConnected:()Z
   34:	ifne	45
   37:	new	#183; //class NotYetConnectedException
   40:	dup
   41:	invokespecial	#430; //Method java/nio/channels/NotYetConnectedException."<init>":()V
   44:	athrow
   45:	aload_3
   46:	monitorexit
   47:	goto	57
   50:	astore	4
   52:	aload_3
   53:	monitorexit
   54:	aload	4
   56:	athrow
   57:	iconst_0
   58:	istore_3
   59:	aload_0
   60:	invokevirtual	#432; //Method begin:()V
   63:	aload_0
   64:	invokevirtual	#440; //Method isOpen:()Z
   67:	ifne	81
   70:	iconst_0
   71:	istore	4
   73:	jsr	142
   76:	aload_2
   77:	monitorexit
   78:	iload	4
   80:	ireturn
   81:	aload_0
   82:	invokestatic	#469; //Method sun/nio/ch/NativeThread.current:()J
   85:	putfield	#381; //Field readerThread:J
   88:	aload_0
   89:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   92:	aload_1
   93:	ldc2_w	#162; //long -1l
   96:	getstatic	#394; //Field nd:Lsun/nio/ch/NativeDispatcher;
   99:	aload_0
   100:	getfield	#386; //Field readLock:Ljava/lang/Object;
   103:	invokestatic	#465; //Method sun/nio/ch/IOUtil.read:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
   106:	istore_3
   107:	iload_3
   108:	bipush	-3
   110:	if_icmpne	120
   113:	aload_0
   114:	invokevirtual	#440; //Method isOpen:()Z
   117:	ifne	88
   120:	iload_3
   121:	invokestatic	#457; //Method sun/nio/ch/IOStatus.normalize:(I)I
   124:	istore	4
   126:	jsr	142
   129:	aload_2
   130:	monitorexit
   131:	iload	4
   133:	ireturn
   134:	astore	5
   136:	jsr	142
   139:	aload	5
   141:	athrow
   142:	astore	6
   144:	aload_0
   145:	lconst_0
   146:	putfield	#381; //Field readerThread:J
   149:	aload_0
   150:	iload_3
   151:	ifgt	160
   154:	iload_3
   155:	bipush	-2
   157:	if_icmpne	164
   160:	iconst_1
   161:	goto	165
   164:	iconst_0
   165:	invokevirtual	#442; //Method end:(Z)V
   168:	getstatic	#383; //Field $assertionsDisabled:Z
   171:	ifne	189
   174:	iload_3
   175:	invokestatic	#458; //Method sun/nio/ch/IOStatus.check:(I)Z
   178:	ifne	189
   181:	new	#165; //class AssertionError
   184:	dup
   185:	invokespecial	#398; //Method java/lang/AssertionError."<init>":()V
   188:	athrow
   189:	ret	6
   191:	astore	7
   193:	aload_2
   194:	monitorexit
   195:	aload	7
   197:	athrow
  Exception table:
   from   to  target type
    26    47    50   any
    50    54    50   any
    59    76   134   any
    81   129   134   any
   134   139   134   any
    19    78   191   any
    81   131   191   any
   134   195   191   any
  LineNumberTable: 
   line 297: 0
   line 298: 4
   line 299: 12
   line 300: 19
   line 301: 26
   line 302: 30
   line 303: 37
   line 304: 45
   line 305: 57
   line 307: 59
   line 308: 63
   line 309: 70
   line 310: 81
   line 312: 88
   line 313: 107
   line 314: 120
   line 316: 134
   line 317: 149
   line 318: 168
   line 320: 191

public int write(java.nio.ByteBuffer);
   throws java/io/IOException
  Code:
   Stack=6, Locals=8, Args_size=2
   0:	aload_1
   1:	ifnonnull	12
   4:	new	#173; //class NullPointerException
   7:	dup
   8:	invokespecial	#407; //Method java/lang/NullPointerException."<init>":()V
   11:	athrow
   12:	aload_0
   13:	getfield	#388; //Field writeLock:Ljava/lang/Object;
   16:	dup
   17:	astore_2
   18:	monitorenter
   19:	aload_0
   20:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   23:	dup
   24:	astore_3
   25:	monitorenter
   26:	aload_0
   27:	invokespecial	#434; //Method ensureOpen:()V
   30:	aload_0
   31:	invokevirtual	#439; //Method isConnected:()Z
   34:	ifne	45
   37:	new	#183; //class NotYetConnectedException
   40:	dup
   41:	invokespecial	#430; //Method java/nio/channels/NotYetConnectedException."<init>":()V
   44:	athrow
   45:	aload_3
   46:	monitorexit
   47:	goto	57
   50:	astore	4
   52:	aload_3
   53:	monitorexit
   54:	aload	4
   56:	athrow
   57:	iconst_0
   58:	istore_3
   59:	aload_0
   60:	invokevirtual	#432; //Method begin:()V
   63:	aload_0
   64:	invokevirtual	#440; //Method isOpen:()Z
   67:	ifne	81
   70:	iconst_0
   71:	istore	4
   73:	jsr	142
   76:	aload_2
   77:	monitorexit
   78:	iload	4
   80:	ireturn
   81:	aload_0
   82:	invokestatic	#469; //Method sun/nio/ch/NativeThread.current:()J
   85:	putfield	#382; //Field writerThread:J
   88:	aload_0
   89:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   92:	aload_1
   93:	ldc2_w	#162; //long -1l
   96:	getstatic	#394; //Field nd:Lsun/nio/ch/NativeDispatcher;
   99:	aload_0
   100:	getfield	#388; //Field writeLock:Ljava/lang/Object;
   103:	invokestatic	#466; //Method sun/nio/ch/IOUtil.write:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
   106:	istore_3
   107:	iload_3
   108:	bipush	-3
   110:	if_icmpne	120
   113:	aload_0
   114:	invokevirtual	#440; //Method isOpen:()Z
   117:	ifne	88
   120:	iload_3
   121:	invokestatic	#457; //Method sun/nio/ch/IOStatus.normalize:(I)I
   124:	istore	4
   126:	jsr	142
   129:	aload_2
   130:	monitorexit
   131:	iload	4
   133:	ireturn
   134:	astore	5
   136:	jsr	142
   139:	aload	5
   141:	athrow
   142:	astore	6
   144:	aload_0
   145:	lconst_0
   146:	putfield	#382; //Field writerThread:J
   149:	aload_0
   150:	iload_3
   151:	ifgt	160
   154:	iload_3
   155:	bipush	-2
   157:	if_icmpne	164
   160:	iconst_1
   161:	goto	165
   164:	iconst_0
   165:	invokevirtual	#442; //Method end:(Z)V
   168:	getstatic	#383; //Field $assertionsDisabled:Z
   171:	ifne	189
   174:	iload_3
   175:	invokestatic	#458; //Method sun/nio/ch/IOStatus.check:(I)Z
   178:	ifne	189
   181:	new	#165; //class AssertionError
   184:	dup
   185:	invokespecial	#398; //Method java/lang/AssertionError."<init>":()V
   188:	athrow
   189:	ret	6
   191:	astore	7
   193:	aload_2
   194:	monitorexit
   195:	aload	7
   197:	athrow
  Exception table:
   from   to  target type
    26    47    50   any
    50    54    50   any
    59    76   134   any
    81   129   134   any
   134   139   134   any
    19    78   191   any
    81   131   191   any
   134   195   191   any

  LineNumberTable: 
   line 358: 0
   line 359: 4
   line 360: 12
   line 361: 19
   line 362: 26
   line 363: 30
   line 364: 37
   line 365: 45
   line 366: 57
   line 368: 59
   line 369: 63
   line 370: 70
   line 371: 81
   line 373: 88
   line 374: 107
   line 375: 120
   line 377: 134
   line 378: 149
   line 379: 168
   line 381: 191

  Exceptions: 
   throws java/io/IOException
  Code:
   Stack=6, Locals=8, Args_size=2
   0:	aload_1
   1:	ifnonnull	12
   4:	new	#173; //class NullPointerException
   7:	dup
   8:	invokespecial	#407; //Method java/lang/NullPointerException."<init>":()V
   11:	athrow
   12:	aload_0
   13:	getfield	#388; //Field writeLock:Ljava/lang/Object;
   16:	dup
   17:	astore_2
   18:	monitorenter
   19:	aload_0
   20:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   23:	dup
   24:	astore_3
   25:	monitorenter
   26:	aload_0
   27:	invokespecial	#434; //Method ensureOpen:()V
   30:	aload_0
   31:	invokevirtual	#439; //Method isConnected:()Z
   34:	ifne	45
   37:	new	#183; //class NotYetConnectedException
   40:	dup
   41:	invokespecial	#430; //Method java/nio/channels/NotYetConnectedException."<init>":()V
   44:	athrow
   45:	aload_3
   46:	monitorexit
   47:	goto	57
   50:	astore	4
   52:	aload_3
   53:	monitorexit
   54:	aload	4
   56:	athrow
   57:	iconst_0
   58:	istore_3
   59:	aload_0
   60:	invokevirtual	#432; //Method begin:()V
   63:	aload_0
   64:	invokevirtual	#440; //Method isOpen:()Z
   67:	ifne	81
   70:	iconst_0
   71:	istore	4
   73:	jsr	142
   76:	aload_2
   77:	monitorexit
   78:	iload	4
   80:	ireturn
   81:	aload_0
   82:	invokestatic	#469; //Method sun/nio/ch/NativeThread.current:()J
   85:	putfield	#382; //Field writerThread:J
   88:	aload_0
   89:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   92:	aload_1
   93:	ldc2_w	#162; //long -1l
   96:	getstatic	#394; //Field nd:Lsun/nio/ch/NativeDispatcher;
   99:	aload_0
   100:	getfield	#388; //Field writeLock:Ljava/lang/Object;
   103:	invokestatic	#466; //Method sun/nio/ch/IOUtil.write:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
   106:	istore_3
   107:	iload_3
   108:	bipush	-3
   110:	if_icmpne	120
   113:	aload_0
   114:	invokevirtual	#440; //Method isOpen:()Z
   117:	ifne	88
   120:	iload_3
   121:	invokestatic	#457; //Method sun/nio/ch/IOStatus.normalize:(I)I
   124:	istore	4
   126:	jsr	142
   129:	aload_2
   130:	monitorexit
   131:	iload	4
   133:	ireturn
   134:	astore	5
   136:	jsr	142
   139:	aload	5
   141:	athrow
   142:	astore	6
   144:	aload_0
   145:	lconst_0
   146:	putfield	#382; //Field writerThread:J
   149:	aload_0
   150:	iload_3
   151:	ifgt	160
   154:	iload_3
   155:	bipush	-2
   157:	if_icmpne	164
   160:	iconst_1
   161:	goto	165
   164:	iconst_0
   165:	invokevirtual	#442; //Method end:(Z)V
   168:	getstatic	#383; //Field $assertionsDisabled:Z
   171:	ifne	189
   174:	iload_3
   175:	invokestatic	#458; //Method sun/nio/ch/IOStatus.check:(I)Z
   178:	ifne	189
   181:	new	#165; //class AssertionError
   184:	dup
   185:	invokespecial	#398; //Method java/lang/AssertionError."<init>":()V
   188:	athrow
   189:	ret	6
   191:	astore	7
   193:	aload_2
   194:	monitorexit
   195:	aload	7
   197:	athrow
  Exception table:
   from   to  target type
    26    47    50   any
    50    54    50   any
    59    76   134   any
    81   129   134   any
   134   139   134   any
    19    78   191   any
    81   131   191   any
   134   195   191   any
  LineNumberTable: 
   line 358: 0
   line 359: 4
   line 360: 12
   line 361: 19
   line 362: 26
   line 363: 30
   line 364: 37
   line 365: 45
   line 366: 57
   line 368: 59
   line 369: 63
   line 370: 70
   line 371: 81
   line 373: 88
   line 374: 107
   line 375: 120
   line 377: 134
   line 378: 149
   line 379: 168
   line 381: 191

public long read(java.nio.ByteBuffer[],int,int);
   throws java/io/IOException
  Code:
   Stack=4, Locals=4, Args_size=4
   0:	aload_0
   1:	aload_1
   2:	iload_2
   3:	iload_3
   4:	invokestatic	#485; //Method sun/nio/ch/Util.subsequence:([Ljava/nio/ByteBuffer;II)[Ljava/nio/ByteBuffer;
   7:	invokespecial	#445; //Method read0:([Ljava/nio/ByteBuffer;)J
   10:	lreturn

  LineNumberTable: 
   line 354: 0

  Exceptions: 
   throws java/io/IOException
  Code:
   Stack=4, Locals=4, Args_size=4
   0:	aload_0
   1:	aload_1
   2:	iload_2
   3:	iload_3
   4:	invokestatic	#485; //Method sun/nio/ch/Util.subsequence:([Ljava/nio/ByteBuffer;II)[Ljava/nio/ByteBuffer;
   7:	invokespecial	#445; //Method read0:([Ljava/nio/ByteBuffer;)J
   10:	lreturn
  LineNumberTable: 
   line 354: 0

public long write(java.nio.ByteBuffer[],int,int);
   throws java/io/IOException
  Code:
   Stack=4, Locals=4, Args_size=4
   0:	aload_0
   1:	aload_1
   2:	iload_2
   3:	iload_3
   4:	invokestatic	#485; //Method sun/nio/ch/Util.subsequence:([Ljava/nio/ByteBuffer;II)[Ljava/nio/ByteBuffer;
   7:	invokespecial	#446; //Method write0:([Ljava/nio/ByteBuffer;)J
   10:	lreturn

  LineNumberTable: 
   line 415: 0

  Exceptions: 
   throws java/io/IOException
  Code:
   Stack=4, Locals=4, Args_size=4
   0:	aload_0
   1:	aload_1
   2:	iload_2
   3:	iload_3
   4:	invokestatic	#485; //Method sun/nio/ch/Util.subsequence:([Ljava/nio/ByteBuffer;II)[Ljava/nio/ByteBuffer;
   7:	invokespecial	#446; //Method write0:([Ljava/nio/ByteBuffer;)J
   10:	lreturn
  LineNumberTable: 
   line 415: 0

public java.nio.channels.DatagramChannel disconnect();
   throws java/io/IOException
  Code:
   Stack=3, Locals=9, Args_size=1
   0:	aload_0
   1:	getfield	#386; //Field readLock:Ljava/lang/Object;
   4:	dup
   5:	astore_1
   6:	monitorenter
   7:	aload_0
   8:	getfield	#388; //Field writeLock:Ljava/lang/Object;
   11:	dup
   12:	astore_2
   13:	monitorenter
   14:	aload_0
   15:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   18:	dup
   19:	astore_3
   20:	monitorenter
   21:	aload_0
   22:	invokevirtual	#439; //Method isConnected:()Z
   25:	ifeq	35
   28:	aload_0
   29:	invokevirtual	#440; //Method isOpen:()Z
   32:	ifne	43
   35:	aload_0
   36:	aload_3
   37:	monitorexit
   38:	aload_2
   39:	monitorexit
   40:	aload_1
   41:	monitorexit
   42:	areturn
   43:	aload_0
   44:	getfield	#392; //Field remoteAddress:Ljava/net/SocketAddress;
   47:	checkcast	#179; //class InetSocketAddress
   50:	astore	4
   52:	invokestatic	#414; //Method java/lang/System.getSecurityManager:()Ljava/lang/SecurityManager;
   55:	astore	5
   57:	aload	5
   59:	ifnull	80
   62:	aload	5
   64:	aload	4
   66:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   69:	invokevirtual	#416; //Method java/net/InetAddress.getHostAddress:()Ljava/lang/String;
   72:	aload	4
   74:	invokevirtual	#417; //Method java/net/InetSocketAddress.getPort:()I
   77:	invokevirtual	#412; //Method java/lang/SecurityManager.checkConnect:(Ljava/lang/String;I)V
   80:	aload_0
   81:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   84:	invokestatic	#443; //Method disconnect0:(Ljava/io/FileDescriptor;)V
   87:	aload_0
   88:	aconst_null
   89:	putfield	#392; //Field remoteAddress:Ljava/net/SocketAddress;
   92:	aload_0
   93:	getstatic	#377; //Field ST_UNCONNECTED:I
   96:	putfield	#380; //Field state:I
   99:	aload_3
   100:	monitorexit
   101:	goto	111
   104:	astore	6
   106:	aload_3
   107:	monitorexit
   108:	aload	6
   110:	athrow
   111:	aload_2
   112:	monitorexit
   113:	goto	123
   116:	astore	7
   118:	aload_2
   119:	monitorexit
   120:	aload	7
   122:	athrow
   123:	aload_1
   124:	monitorexit
   125:	goto	135
   128:	astore	8
   130:	aload_1
   131:	monitorexit
   132:	aload	8
   134:	athrow
   135:	aload_0
   136:	areturn
  Exception table:
   from   to  target type
    21    38   104   any
    43   101   104   any
   104   108   104   any
    14    40   116   any
    43   113   116   any
   116   120   116   any
     7    42   128   any
    43   125   128   any
   128   132   128   any

  LineNumberTable: 
   line 534: 0
   line 535: 7
   line 536: 14
   line 537: 21
   line 538: 35
   line 539: 43
   line 540: 52
   line 541: 57
   line 542: 62
   line 544: 80
   line 545: 87
   line 546: 92
   line 547: 99
   line 548: 111
   line 549: 123
   line 550: 135

  Exceptions: 
   throws java/io/IOException
  Code:
   Stack=3, Locals=9, Args_size=1
   0:	aload_0
   1:	getfield	#386; //Field readLock:Ljava/lang/Object;
   4:	dup
   5:	astore_1
   6:	monitorenter
   7:	aload_0
   8:	getfield	#388; //Field writeLock:Ljava/lang/Object;
   11:	dup
   12:	astore_2
   13:	monitorenter
   14:	aload_0
   15:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   18:	dup
   19:	astore_3
   20:	monitorenter
   21:	aload_0
   22:	invokevirtual	#439; //Method isConnected:()Z
   25:	ifeq	35
   28:	aload_0
   29:	invokevirtual	#440; //Method isOpen:()Z
   32:	ifne	43
   35:	aload_0
   36:	aload_3
   37:	monitorexit
   38:	aload_2
   39:	monitorexit
   40:	aload_1
   41:	monitorexit
   42:	areturn
   43:	aload_0
   44:	getfield	#392; //Field remoteAddress:Ljava/net/SocketAddress;
   47:	checkcast	#179; //class InetSocketAddress
   50:	astore	4
   52:	invokestatic	#414; //Method java/lang/System.getSecurityManager:()Ljava/lang/SecurityManager;
   55:	astore	5
   57:	aload	5
   59:	ifnull	80
   62:	aload	5
   64:	aload	4
   66:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   69:	invokevirtual	#416; //Method java/net/InetAddress.getHostAddress:()Ljava/lang/String;
   72:	aload	4
   74:	invokevirtual	#417; //Method java/net/InetSocketAddress.getPort:()I
   77:	invokevirtual	#412; //Method java/lang/SecurityManager.checkConnect:(Ljava/lang/String;I)V
   80:	aload_0
   81:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   84:	invokestatic	#443; //Method disconnect0:(Ljava/io/FileDescriptor;)V
   87:	aload_0
   88:	aconst_null
   89:	putfield	#392; //Field remoteAddress:Ljava/net/SocketAddress;
   92:	aload_0
   93:	getstatic	#377; //Field ST_UNCONNECTED:I
   96:	putfield	#380; //Field state:I
   99:	aload_3
   100:	monitorexit
   101:	goto	111
   104:	astore	6
   106:	aload_3
   107:	monitorexit
   108:	aload	6
   110:	athrow
   111:	aload_2
   112:	monitorexit
   113:	goto	123
   116:	astore	7
   118:	aload_2
   119:	monitorexit
   120:	aload	7
   122:	athrow
   123:	aload_1
   124:	monitorexit
   125:	goto	135
   128:	astore	8
   130:	aload_1
   131:	monitorexit
   132:	aload	8
   134:	athrow
   135:	aload_0
   136:	areturn
  Exception table:
   from   to  target type
    21    38   104   any
    43   101   104   any
   104   108   104   any
    14    40   116   any
    43   113   116   any
   116   120   116   any
     7    42   128   any
    43   125   128   any
   128   132   128   any
  LineNumberTable: 
   line 534: 0
   line 535: 7
   line 536: 14
   line 537: 21
   line 538: 35
   line 539: 43
   line 540: 52
   line 541: 57
   line 542: 62
   line 544: 80
   line 545: 87
   line 546: 92
   line 547: 99
   line 548: 111
   line 549: 123
   line 550: 135

public sun.nio.ch.DatagramChannelImpl(java.nio.channels.spi.SelectorProvider);
   throws java/io/IOException
  Code:
   Stack=3, Locals=2, Args_size=2
   0:	aload_0
   1:	aload_1
   2:	invokespecial	#429; //Method java/nio/channels/DatagramChannel."<init>":(Ljava/nio/channels/spi/SelectorProvider;)V
   5:	aload_0
   6:	aconst_null
   7:	putfield	#384; //Field fd:Ljava/io/FileDescriptor;
   10:	aload_0
   11:	lconst_0
   12:	putfield	#381; //Field readerThread:J
   15:	aload_0
   16:	lconst_0
   17:	putfield	#382; //Field writerThread:J
   20:	aload_0
   21:	aconst_null
   22:	putfield	#390; //Field cachedSenderInetAddress:Ljava/net/InetAddress;
   25:	aload_0
   26:	iconst_0
   27:	putfield	#378; //Field cachedSenderPort:I
   30:	aload_0
   31:	new	#174; //class Object
   34:	dup
   35:	invokespecial	#408; //Method java/lang/Object."<init>":()V
   38:	putfield	#386; //Field readLock:Ljava/lang/Object;
   41:	aload_0
   42:	new	#174; //class Object
   45:	dup
   46:	invokespecial	#408; //Method java/lang/Object."<init>":()V
   49:	putfield	#388; //Field writeLock:Ljava/lang/Object;
   52:	aload_0
   53:	new	#174; //class Object
   56:	dup
   57:	invokespecial	#408; //Method java/lang/Object."<init>":()V
   60:	putfield	#387; //Field stateLock:Ljava/lang/Object;
   63:	aload_0
   64:	iconst_m1
   65:	putfield	#380; //Field state:I
   68:	aload_0
   69:	aconst_null
   70:	putfield	#391; //Field localAddress:Ljava/net/SocketAddress;
   73:	aload_0
   74:	aconst_null
   75:	putfield	#392; //Field remoteAddress:Ljava/net/SocketAddress;
   78:	aload_0
   79:	aconst_null
   80:	putfield	#395; //Field options:Lsun/nio/ch/SocketOpts$IP;
   83:	aload_0
   84:	aconst_null
   85:	putfield	#389; //Field socket:Ljava/net/DatagramSocket;
   88:	aload_0
   89:	iconst_0
   90:	invokestatic	#472; //Method sun/nio/ch/Net.socket:(Z)Ljava/io/FileDescriptor;
   93:	putfield	#384; //Field fd:Ljava/io/FileDescriptor;
   96:	aload_0
   97:	aload_0
   98:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   101:	invokestatic	#461; //Method sun/nio/ch/IOUtil.fdVal:(Ljava/io/FileDescriptor;)I
   104:	putfield	#379; //Field fdVal:I
   107:	aload_0
   108:	getstatic	#377; //Field ST_UNCONNECTED:I
   111:	putfield	#380; //Field state:I
   114:	return

  LineNumberTable: 
   line 82: 0
   line 32: 5
   line 39: 10
   line 40: 15
   line 44: 20
   line 45: 25
   line 48: 30
   line 51: 41
   line 55: 52
   line 64: 63
   line 67: 68
   line 68: 73
   line 71: 78
   line 74: 83
   line 83: 88
   line 84: 96
   line 85: 107
   line 86: 114

  Exceptions: 
   throws java/io/IOException
  Code:
   Stack=3, Locals=2, Args_size=2
   0:	aload_0
   1:	aload_1
   2:	invokespecial	#429; //Method java/nio/channels/DatagramChannel."<init>":(Ljava/nio/channels/spi/SelectorProvider;)V
   5:	aload_0
   6:	aconst_null
   7:	putfield	#384; //Field fd:Ljava/io/FileDescriptor;
   10:	aload_0
   11:	lconst_0
   12:	putfield	#381; //Field readerThread:J
   15:	aload_0
   16:	lconst_0
   17:	putfield	#382; //Field writerThread:J
   20:	aload_0
   21:	aconst_null
   22:	putfield	#390; //Field cachedSenderInetAddress:Ljava/net/InetAddress;
   25:	aload_0
   26:	iconst_0
   27:	putfield	#378; //Field cachedSenderPort:I
   30:	aload_0
   31:	new	#174; //class Object
   34:	dup
   35:	invokespecial	#408; //Method java/lang/Object."<init>":()V
   38:	putfield	#386; //Field readLock:Ljava/lang/Object;
   41:	aload_0
   42:	new	#174; //class Object
   45:	dup
   46:	invokespecial	#408; //Method java/lang/Object."<init>":()V
   49:	putfield	#388; //Field writeLock:Ljava/lang/Object;
   52:	aload_0
   53:	new	#174; //class Object
   56:	dup
   57:	invokespecial	#408; //Method java/lang/Object."<init>":()V
   60:	putfield	#387; //Field stateLock:Ljava/lang/Object;
   63:	aload_0
   64:	iconst_m1
   65:	putfield	#380; //Field state:I
   68:	aload_0
   69:	aconst_null
   70:	putfield	#391; //Field localAddress:Ljava/net/SocketAddress;
   73:	aload_0
   74:	aconst_null
   75:	putfield	#392; //Field remoteAddress:Ljava/net/SocketAddress;
   78:	aload_0
   79:	aconst_null
   80:	putfield	#395; //Field options:Lsun/nio/ch/SocketOpts$IP;
   83:	aload_0
   84:	aconst_null
   85:	putfield	#389; //Field socket:Ljava/net/DatagramSocket;
   88:	aload_0
   89:	iconst_0
   90:	invokestatic	#472; //Method sun/nio/ch/Net.socket:(Z)Ljava/io/FileDescriptor;
   93:	putfield	#384; //Field fd:Ljava/io/FileDescriptor;
   96:	aload_0
   97:	aload_0
   98:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   101:	invokestatic	#461; //Method sun/nio/ch/IOUtil.fdVal:(Ljava/io/FileDescriptor;)I
   104:	putfield	#379; //Field fdVal:I
   107:	aload_0
   108:	getstatic	#377; //Field ST_UNCONNECTED:I
   111:	putfield	#380; //Field state:I
   114:	return
  LineNumberTable: 
   line 82: 0
   line 32: 5
   line 39: 10
   line 40: 15
   line 44: 20
   line 45: 25
   line 48: 30
   line 51: 41
   line 55: 52
   line 64: 63
   line 67: 68
   line 68: 73
   line 71: 78
   line 74: 83
   line 83: 88
   line 84: 96
   line 85: 107
   line 86: 114

public boolean translateReadyOps(int,int,sun.nio.ch.SelectionKeyImpl);
  Code:
   Stack=3, Locals=7, Args_size=4
   0:	aload_3
   1:	invokevirtual	#477; //Method sun/nio/ch/SelectionKeyImpl.interestOps:()I
   4:	istore	4
   6:	aload_3
   7:	invokevirtual	#478; //Method sun/nio/ch/SelectionKeyImpl.readyOps:()I
   10:	istore	5
   12:	iload_2
   13:	istore	6
   15:	iload_1
   16:	bipush	32
   18:	iand
   19:	ifeq	24
   22:	iconst_0
   23:	ireturn
   24:	iload_1
   25:	bipush	24
   27:	iand
   28:	ifeq	57
   31:	iload	4
   33:	istore	6
   35:	aload_3
   36:	iload	6
   38:	invokevirtual	#479; //Method sun/nio/ch/SelectionKeyImpl.readyOps:(I)V
   41:	iload	6
   43:	iload	5
   45:	iconst_m1
   46:	ixor
   47:	iand
   48:	ifeq	55
   51:	iconst_1
   52:	goto	56
   55:	iconst_0
   56:	ireturn
   57:	iload_1
   58:	iconst_1
   59:	iand
   60:	ifeq	76
   63:	iload	4
   65:	iconst_1
   66:	iand
   67:	ifeq	76
   70:	iload	6
   72:	iconst_1
   73:	ior
   74:	istore	6
   76:	iload_1
   77:	iconst_4
   78:	iand
   79:	ifeq	95
   82:	iload	4
   84:	iconst_4
   85:	iand
   86:	ifeq	95
   89:	iload	6
   91:	iconst_4
   92:	ior
   93:	istore	6
   95:	aload_3
   96:	iload	6
   98:	invokevirtual	#479; //Method sun/nio/ch/SelectionKeyImpl.readyOps:(I)V
   101:	iload	6
   103:	iload	5
   105:	iconst_m1
   106:	ixor
   107:	iand
   108:	ifeq	115
   111:	iconst_1
   112:	goto	116
   115:	iconst_0
   116:	ireturn

  LineNumberTable: 
   line 589: 0
   line 590: 6
   line 591: 12
   line 593: 15
   line 597: 22
   line 600: 24
   line 602: 31
   line 603: 35
   line 604: 41
   line 607: 57
   line 609: 70
   line 611: 76
   line 613: 89
   line 615: 95
   line 616: 101

  Code:
   Stack=3, Locals=7, Args_size=4
   0:	aload_3
   1:	invokevirtual	#477; //Method sun/nio/ch/SelectionKeyImpl.interestOps:()I
   4:	istore	4
   6:	aload_3
   7:	invokevirtual	#478; //Method sun/nio/ch/SelectionKeyImpl.readyOps:()I
   10:	istore	5
   12:	iload_2
   13:	istore	6
   15:	iload_1
   16:	bipush	32
   18:	iand
   19:	ifeq	24
   22:	iconst_0
   23:	ireturn
   24:	iload_1
   25:	bipush	24
   27:	iand
   28:	ifeq	57
   31:	iload	4
   33:	istore	6
   35:	aload_3
   36:	iload	6
   38:	invokevirtual	#479; //Method sun/nio/ch/SelectionKeyImpl.readyOps:(I)V
   41:	iload	6
   43:	iload	5
   45:	iconst_m1
   46:	ixor
   47:	iand
   48:	ifeq	55
   51:	iconst_1
   52:	goto	56
   55:	iconst_0
   56:	ireturn
   57:	iload_1
   58:	iconst_1
   59:	iand
   60:	ifeq	76
   63:	iload	4
   65:	iconst_1
   66:	iand
   67:	ifeq	76
   70:	iload	6
   72:	iconst_1
   73:	ior
   74:	istore	6
   76:	iload_1
   77:	iconst_4
   78:	iand
   79:	ifeq	95
   82:	iload	4
   84:	iconst_4
   85:	iand
   86:	ifeq	95
   89:	iload	6
   91:	iconst_4
   92:	ior
   93:	istore	6
   95:	aload_3
   96:	iload	6
   98:	invokevirtual	#479; //Method sun/nio/ch/SelectionKeyImpl.readyOps:(I)V
   101:	iload	6
   103:	iload	5
   105:	iconst_m1
   106:	ixor
   107:	iand
   108:	ifeq	115
   111:	iconst_1
   112:	goto	116
   115:	iconst_0
   116:	ireturn
  LineNumberTable: 
   line 589: 0
   line 590: 6
   line 591: 12
   line 593: 15
   line 597: 22
   line 600: 24
   line 602: 31
   line 603: 35
   line 604: 41
   line 607: 57
   line 609: 70
   line 611: 76
   line 613: 89
   line 615: 95
   line 616: 101

public void translateAndSetInterestOps(int,sun.nio.ch.SelectionKeyImpl);
  Code:
   Stack=3, Locals=4, Args_size=3
   0:	iconst_0
   1:	istore_3
   2:	iload_1
   3:	iconst_1
   4:	iand
   5:	ifeq	12
   8:	iload_3
   9:	iconst_1
   10:	ior
   11:	istore_3
   12:	iload_1
   13:	iconst_4
   14:	iand
   15:	ifeq	22
   18:	iload_3
   19:	iconst_4
   20:	ior
   21:	istore_3
   22:	iload_1
   23:	bipush	8
   25:	iand
   26:	ifeq	33
   29:	iload_3
   30:	iconst_1
   31:	ior
   32:	istore_3
   33:	aload_2
   34:	getfield	#396; //Field sun/nio/ch/SelectionKeyImpl.selector:Lsun/nio/ch/SelectorImpl;
   37:	aload_2
   38:	iload_3
   39:	invokevirtual	#480; //Method sun/nio/ch/SelectorImpl.putEventOps:(Lsun/nio/ch/SelectionKeyImpl;I)V
   42:	return

  LineNumberTable: 
   line 631: 0
   line 633: 2
   line 634: 8
   line 635: 12
   line 636: 18
   line 637: 22
   line 638: 29
   line 639: 33
   line 640: 42

  Code:
   Stack=3, Locals=4, Args_size=3
   0:	iconst_0
   1:	istore_3
   2:	iload_1
   3:	iconst_1
   4:	iand
   5:	ifeq	12
   8:	iload_3
   9:	iconst_1
   10:	ior
   11:	istore_3
   12:	iload_1
   13:	iconst_4
   14:	iand
   15:	ifeq	22
   18:	iload_3
   19:	iconst_4
   20:	ior
   21:	istore_3
   22:	iload_1
   23:	bipush	8
   25:	iand
   26:	ifeq	33
   29:	iload_3
   30:	iconst_1
   31:	ior
   32:	istore_3
   33:	aload_2
   34:	getfield	#396; //Field sun/nio/ch/SelectionKeyImpl.selector:Lsun/nio/ch/SelectorImpl;
   37:	aload_2
   38:	iload_3
   39:	invokevirtual	#480; //Method sun/nio/ch/SelectorImpl.putEventOps:(Lsun/nio/ch/SelectionKeyImpl;I)V
   42:	return
  LineNumberTable: 
   line 631: 0
   line 633: 2
   line 634: 8
   line 635: 12
   line 636: 18
   line 637: 22
   line 638: 29
   line 639: 33
   line 640: 42

public boolean translateAndSetReadyOps(int,sun.nio.ch.SelectionKeyImpl);
  Code:
   Stack=4, Locals=3, Args_size=3
   0:	aload_0
   1:	iload_1
   2:	iconst_0
   3:	aload_2
   4:	invokevirtual	#447; //Method translateReadyOps:(IILsun/nio/ch/SelectionKeyImpl;)Z
   7:	ireturn

  LineNumberTable: 
   line 624: 0

  Code:
   Stack=4, Locals=3, Args_size=3
   0:	aload_0
   1:	iload_1
   2:	iconst_0
   3:	aload_2
   4:	invokevirtual	#447; //Method translateReadyOps:(IILsun/nio/ch/SelectionKeyImpl;)Z
   7:	ireturn
  LineNumberTable: 
   line 624: 0

public boolean translateAndUpdateReadyOps(int,sun.nio.ch.SelectionKeyImpl);
  Code:
   Stack=4, Locals=3, Args_size=3
   0:	aload_0
   1:	iload_1
   2:	aload_2
   3:	invokevirtual	#478; //Method sun/nio/ch/SelectionKeyImpl.readyOps:()I
   6:	aload_2
   7:	invokevirtual	#447; //Method translateReadyOps:(IILsun/nio/ch/SelectionKeyImpl;)Z
   10:	ireturn

  LineNumberTable: 
   line 620: 0

  Code:
   Stack=4, Locals=3, Args_size=3
   0:	aload_0
   1:	iload_1
   2:	aload_2
   3:	invokevirtual	#478; //Method sun/nio/ch/SelectionKeyImpl.readyOps:()I
   6:	aload_2
   7:	invokevirtual	#447; //Method translateReadyOps:(IILsun/nio/ch/SelectionKeyImpl;)Z
   10:	ireturn
  LineNumberTable: 
   line 620: 0

public sun.nio.ch.SocketOpts options();
  Code:
   Stack=4, Locals=4, Args_size=1
   0:	aload_0
   1:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   4:	dup
   5:	astore_1
   6:	monitorenter
   7:	aload_0
   8:	getfield	#395; //Field options:Lsun/nio/ch/SocketOpts$IP;
   11:	ifnonnull	35
   14:	new	#186; //class DatagramChannelImpl$1
   17:	dup
   18:	aload_0
   19:	invokespecial	#454; //Method sun/nio/ch/DatagramChannelImpl$1."<init>":(Lsun/nio/ch/DatagramChannelImpl;)V
   22:	astore_2
   23:	aload_0
   24:	new	#199; //class SocketOptsImpl$IP
   27:	dup
   28:	aload_2
   29:	invokespecial	#481; //Method sun/nio/ch/SocketOptsImpl$IP."<init>":(Lsun/nio/ch/SocketOptsImpl$Dispatcher;)V
   32:	putfield	#395; //Field options:Lsun/nio/ch/SocketOpts$IP;
   35:	aload_0
   36:	getfield	#395; //Field options:Lsun/nio/ch/SocketOpts$IP;
   39:	aload_1
   40:	monitorexit
   41:	areturn
   42:	astore_3
   43:	aload_1
   44:	monitorexit
   45:	aload_3
   46:	athrow
  Exception table:
   from   to  target type
     7    41    42   any
    42    45    42   any

  LineNumberTable: 
   line 423: 0
   line 424: 7
   line 425: 14
   line 436: 23
   line 438: 35
   line 439: 42

  Code:
   Stack=4, Locals=4, Args_size=1
   0:	aload_0
   1:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   4:	dup
   5:	astore_1
   6:	monitorenter
   7:	aload_0
   8:	getfield	#395; //Field options:Lsun/nio/ch/SocketOpts$IP;
   11:	ifnonnull	35
   14:	new	#186; //class DatagramChannelImpl$1
   17:	dup
   18:	aload_0
   19:	invokespecial	#454; //Method sun/nio/ch/DatagramChannelImpl$1."<init>":(Lsun/nio/ch/DatagramChannelImpl;)V
   22:	astore_2
   23:	aload_0
   24:	new	#199; //class SocketOptsImpl$IP
   27:	dup
   28:	aload_2
   29:	invokespecial	#481; //Method sun/nio/ch/SocketOptsImpl$IP."<init>":(Lsun/nio/ch/SocketOptsImpl$Dispatcher;)V
   32:	putfield	#395; //Field options:Lsun/nio/ch/SocketOpts$IP;
   35:	aload_0
   36:	getfield	#395; //Field options:Lsun/nio/ch/SocketOpts$IP;
   39:	aload_1
   40:	monitorexit
   41:	areturn
   42:	astore_3
   43:	aload_1
   44:	monitorexit
   45:	aload_3
   46:	athrow
  Exception table:
   from   to  target type
     7    41    42   any
    42    45    42   any
  LineNumberTable: 
   line 423: 0
   line 424: 7
   line 425: 14
   line 436: 23
   line 438: 35
   line 439: 42

static java.lang.Class class$(java.lang.String);
  Code:
   Stack=2, Locals=2, Args_size=1
   0:	aload_0
   1:	invokestatic	#400; //Method java/lang/Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
   4:	areturn
   5:	astore_1
   6:	new	#172; //class NoClassDefFoundError
   9:	dup
   10:	invokespecial	#405; //Method java/lang/NoClassDefFoundError."<init>":()V
   13:	aload_1
   14:	invokevirtual	#406; //Method java/lang/NoClassDefFoundError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
   17:	athrow
  Exception table:
   from   to  target type
     0     4     5   Class java/lang/ClassNotFoundException


  LineNumberTable: 
   line 23: 0

  Synthetic: true
  Code:
   Stack=2, Locals=2, Args_size=1
   0:	aload_0
   1:	invokestatic	#400; //Method java/lang/Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
   4:	areturn
   5:	astore_1
   6:	new	#172; //class NoClassDefFoundError
   9:	dup
   10:	invokespecial	#405; //Method java/lang/NoClassDefFoundError."<init>":()V
   13:	aload_1
   14:	invokevirtual	#406; //Method java/lang/NoClassDefFoundError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
   17:	athrow
  Exception table:
   from   to  target type
     0     4     5   Class java/lang/ClassNotFoundException

  LineNumberTable: 
   line 23: 0

public java.net.SocketAddress receive(java.nio.ByteBuffer);
   throws java/io/IOException
  Code:
   Stack=3, Locals=11, Args_size=2
   0:	aload_1
   1:	invokevirtual	#422; //Method java/nio/ByteBuffer.isReadOnly:()Z
   4:	ifeq	17
   7:	new	#169; //class IllegalArgumentException
   10:	dup
   11:	ldc	#3; //String Read-only buffer
   13:	invokespecial	#402; //Method java/lang/IllegalArgumentException."<init>":(Ljava/lang/String;)V
   16:	athrow
   17:	aload_1
   18:	ifnonnull	29
   21:	new	#173; //class NullPointerException
   24:	dup
   25:	invokespecial	#407; //Method java/lang/NullPointerException."<init>":()V
   28:	athrow
   29:	aload_0
   30:	getfield	#386; //Field readLock:Ljava/lang/Object;
   33:	dup
   34:	astore_2
   35:	monitorenter
   36:	aload_0
   37:	invokespecial	#434; //Method ensureOpen:()V
   40:	aload_0
   41:	invokevirtual	#438; //Method isBound:()Z
   44:	ifne	51
   47:	aconst_null
   48:	aload_2
   49:	monitorexit
   50:	areturn
   51:	iconst_0
   52:	istore_3
   53:	aconst_null
   54:	astore	4
   56:	aload_0
   57:	invokevirtual	#432; //Method begin:()V
   60:	aload_0
   61:	invokevirtual	#440; //Method isOpen:()Z
   64:	ifne	78
   67:	aconst_null
   68:	astore	5
   70:	jsr	273
   73:	aload_2
   74:	monitorexit
   75:	aload	5
   77:	areturn
   78:	invokestatic	#414; //Method java/lang/System.getSecurityManager:()Ljava/lang/SecurityManager;
   81:	astore	5
   83:	aload_0
   84:	invokestatic	#469; //Method sun/nio/ch/NativeThread.current:()J
   87:	putfield	#381; //Field readerThread:J
   90:	aload_0
   91:	invokevirtual	#439; //Method isConnected:()Z
   94:	ifne	102
   97:	aload	5
   99:	ifnonnull	142
   102:	aload_0
   103:	aload_0
   104:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   107:	aload_1
   108:	invokespecial	#450; //Method receive:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I
   111:	istore_3
   112:	iload_3
   113:	bipush	-3
   115:	if_icmpne	125
   118:	aload_0
   119:	invokevirtual	#440; //Method isOpen:()Z
   122:	ifne	102
   125:	iload_3
   126:	bipush	-2
   128:	if_icmpne	251
   131:	aconst_null
   132:	astore	6
   134:	jsr	273
   137:	aload_2
   138:	monitorexit
   139:	aload	6
   141:	areturn
   142:	aload_1
   143:	invokevirtual	#421; //Method java/nio/ByteBuffer.remaining:()I
   146:	invokestatic	#483; //Method sun/nio/ch/Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
   149:	astore	4
   151:	aload_0
   152:	aload_0
   153:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   156:	aload	4
   158:	invokespecial	#450; //Method receive:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I
   161:	istore_3
   162:	iload_3
   163:	bipush	-3
   165:	if_icmpne	175
   168:	aload_0
   169:	invokevirtual	#440; //Method isOpen:()Z
   172:	ifne	151
   175:	iload_3
   176:	bipush	-2
   178:	if_icmpne	192
   181:	aconst_null
   182:	astore	6
   184:	jsr	273
   187:	aload_2
   188:	monitorexit
   189:	aload	6
   191:	areturn
   192:	aload_0
   193:	getfield	#393; //Field sender:Ljava/net/SocketAddress;
   196:	checkcast	#179; //class InetSocketAddress
   199:	astore	6
   201:	aload	5
   203:	aload	6
   205:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   208:	invokevirtual	#416; //Method java/net/InetAddress.getHostAddress:()Ljava/lang/String;
   211:	aload	6
   213:	invokevirtual	#417; //Method java/net/InetSocketAddress.getPort:()I
   216:	invokevirtual	#411; //Method java/lang/SecurityManager.checkAccept:(Ljava/lang/String;I)V
   219:	goto	235
   222:	astore	7
   224:	aload	4
   226:	invokevirtual	#423; //Method java/nio/ByteBuffer.clear:()Ljava/nio/Buffer;
   229:	pop
   230:	iconst_0
   231:	istore_3
   232:	goto	151
   235:	aload	4
   237:	invokevirtual	#424; //Method java/nio/ByteBuffer.flip:()Ljava/nio/Buffer;
   240:	pop
   241:	aload_1
   242:	aload	4
   244:	invokevirtual	#427; //Method java/nio/ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
   247:	pop
   248:	goto	251
   251:	aload_0
   252:	getfield	#393; //Field sender:Ljava/net/SocketAddress;
   255:	astore	6
   257:	jsr	273
   260:	aload_2
   261:	monitorexit
   262:	aload	6
   264:	areturn
   265:	astore	8
   267:	jsr	273
   270:	aload	8
   272:	athrow
   273:	astore	9
   275:	aload	4
   277:	ifnull	285
   280:	aload	4
   282:	invokestatic	#484; //Method sun/nio/ch/Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
   285:	aload_0
   286:	lconst_0
   287:	putfield	#381; //Field readerThread:J
   290:	aload_0
   291:	iload_3
   292:	ifgt	301
   295:	iload_3
   296:	bipush	-2
   298:	if_icmpne	305
   301:	iconst_1
   302:	goto	306
   305:	iconst_0
   306:	invokevirtual	#442; //Method end:(Z)V
   309:	getstatic	#383; //Field $assertionsDisabled:Z
   312:	ifne	330
   315:	iload_3
   316:	invokestatic	#458; //Method sun/nio/ch/IOStatus.check:(I)Z
   319:	ifne	330
   322:	new	#165; //class AssertionError
   325:	dup
   326:	invokespecial	#398; //Method java/lang/AssertionError."<init>":()V
   329:	athrow
   330:	ret	9
   332:	astore	10
   334:	aload_2
   335:	monitorexit
   336:	aload	10
   338:	athrow
  Exception table:
   from   to  target type
   201   219   222   Class java/lang/SecurityException

    56    73   265   any
    78   137   265   any
   142   187   265   any
   192   260   265   any
   265   270   265   any
    36    50   332   any
    51    75   332   any
    78   139   332   any
   142   189   332   any
   192   262   332   any
   265   336   332   any

  LineNumberTable: 
   line 104: 0
   line 105: 7
   line 106: 17
   line 107: 21
   line 108: 29
   line 109: 36
   line 111: 40
   line 112: 47
   line 113: 51
   line 114: 53
   line 116: 56
   line 117: 60
   line 118: 67
   line 119: 78
   line 120: 83
   line 121: 90
   line 123: 102
   line 124: 112
   line 125: 125
   line 126: 131
   line 128: 142
   line 131: 151
   line 132: 162
   line 133: 175
   line 134: 181
   line 135: 192
   line 137: 201
   line 145: 219
   line 140: 222
   line 142: 224
   line 143: 230
   line 144: 232
   line 146: 235
   line 147: 241
   line 148: 248
   line 151: 251
   line 153: 265
   line 154: 280
   line 155: 285
   line 156: 290
   line 157: 309
   line 159: 332

  Exceptions: 
   throws java/io/IOException
  Code:
   Stack=3, Locals=11, Args_size=2
   0:	aload_1
   1:	invokevirtual	#422; //Method java/nio/ByteBuffer.isReadOnly:()Z
   4:	ifeq	17
   7:	new	#169; //class IllegalArgumentException
   10:	dup
   11:	ldc	#3; //String Read-only buffer
   13:	invokespecial	#402; //Method java/lang/IllegalArgumentException."<init>":(Ljava/lang/String;)V
   16:	athrow
   17:	aload_1
   18:	ifnonnull	29
   21:	new	#173; //class NullPointerException
   24:	dup
   25:	invokespecial	#407; //Method java/lang/NullPointerException."<init>":()V
   28:	athrow
   29:	aload_0
   30:	getfield	#386; //Field readLock:Ljava/lang/Object;
   33:	dup
   34:	astore_2
   35:	monitorenter
   36:	aload_0
   37:	invokespecial	#434; //Method ensureOpen:()V
   40:	aload_0
   41:	invokevirtual	#438; //Method isBound:()Z
   44:	ifne	51
   47:	aconst_null
   48:	aload_2
   49:	monitorexit
   50:	areturn
   51:	iconst_0
   52:	istore_3
   53:	aconst_null
   54:	astore	4
   56:	aload_0
   57:	invokevirtual	#432; //Method begin:()V
   60:	aload_0
   61:	invokevirtual	#440; //Method isOpen:()Z
   64:	ifne	78
   67:	aconst_null
   68:	astore	5
   70:	jsr	273
   73:	aload_2
   74:	monitorexit
   75:	aload	5
   77:	areturn
   78:	invokestatic	#414; //Method java/lang/System.getSecurityManager:()Ljava/lang/SecurityManager;
   81:	astore	5
   83:	aload_0
   84:	invokestatic	#469; //Method sun/nio/ch/NativeThread.current:()J
   87:	putfield	#381; //Field readerThread:J
   90:	aload_0
   91:	invokevirtual	#439; //Method isConnected:()Z
   94:	ifne	102
   97:	aload	5
   99:	ifnonnull	142
   102:	aload_0
   103:	aload_0
   104:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   107:	aload_1
   108:	invokespecial	#450; //Method receive:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I
   111:	istore_3
   112:	iload_3
   113:	bipush	-3
   115:	if_icmpne	125
   118:	aload_0
   119:	invokevirtual	#440; //Method isOpen:()Z
   122:	ifne	102
   125:	iload_3
   126:	bipush	-2
   128:	if_icmpne	251
   131:	aconst_null
   132:	astore	6
   134:	jsr	273
   137:	aload_2
   138:	monitorexit
   139:	aload	6
   141:	areturn
   142:	aload_1
   143:	invokevirtual	#421; //Method java/nio/ByteBuffer.remaining:()I
   146:	invokestatic	#483; //Method sun/nio/ch/Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
   149:	astore	4
   151:	aload_0
   152:	aload_0
   153:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   156:	aload	4
   158:	invokespecial	#450; //Method receive:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I
   161:	istore_3
   162:	iload_3
   163:	bipush	-3
   165:	if_icmpne	175
   168:	aload_0
   169:	invokevirtual	#440; //Method isOpen:()Z
   172:	ifne	151
   175:	iload_3
   176:	bipush	-2
   178:	if_icmpne	192
   181:	aconst_null
   182:	astore	6
   184:	jsr	273
   187:	aload_2
   188:	monitorexit
   189:	aload	6
   191:	areturn
   192:	aload_0
   193:	getfield	#393; //Field sender:Ljava/net/SocketAddress;
   196:	checkcast	#179; //class InetSocketAddress
   199:	astore	6
   201:	aload	5
   203:	aload	6
   205:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   208:	invokevirtual	#416; //Method java/net/InetAddress.getHostAddress:()Ljava/lang/String;
   211:	aload	6
   213:	invokevirtual	#417; //Method java/net/InetSocketAddress.getPort:()I
   216:	invokevirtual	#411; //Method java/lang/SecurityManager.checkAccept:(Ljava/lang/String;I)V
   219:	goto	235
   222:	astore	7
   224:	aload	4
   226:	invokevirtual	#423; //Method java/nio/ByteBuffer.clear:()Ljava/nio/Buffer;
   229:	pop
   230:	iconst_0
   231:	istore_3
   232:	goto	151
   235:	aload	4
   237:	invokevirtual	#424; //Method java/nio/ByteBuffer.flip:()Ljava/nio/Buffer;
   240:	pop
   241:	aload_1
   242:	aload	4
   244:	invokevirtual	#427; //Method java/nio/ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
   247:	pop
   248:	goto	251
   251:	aload_0
   252:	getfield	#393; //Field sender:Ljava/net/SocketAddress;
   255:	astore	6
   257:	jsr	273
   260:	aload_2
   261:	monitorexit
   262:	aload	6
   264:	areturn
   265:	astore	8
   267:	jsr	273
   270:	aload	8
   272:	athrow
   273:	astore	9
   275:	aload	4
   277:	ifnull	285
   280:	aload	4
   282:	invokestatic	#484; //Method sun/nio/ch/Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
   285:	aload_0
   286:	lconst_0
   287:	putfield	#381; //Field readerThread:J
   290:	aload_0
   291:	iload_3
   292:	ifgt	301
   295:	iload_3
   296:	bipush	-2
   298:	if_icmpne	305
   301:	iconst_1
   302:	goto	306
   305:	iconst_0
   306:	invokevirtual	#442; //Method end:(Z)V
   309:	getstatic	#383; //Field $assertionsDisabled:Z
   312:	ifne	330
   315:	iload_3
   316:	invokestatic	#458; //Method sun/nio/ch/IOStatus.check:(I)Z
   319:	ifne	330
   322:	new	#165; //class AssertionError
   325:	dup
   326:	invokespecial	#398; //Method java/lang/AssertionError."<init>":()V
   329:	athrow
   330:	ret	9
   332:	astore	10
   334:	aload_2
   335:	monitorexit
   336:	aload	10
   338:	athrow
  Exception table:
   from   to  target type
   201   219   222   Class java/lang/SecurityException

    56    73   265   any
    78   137   265   any
   142   187   265   any
   192   260   265   any
   265   270   265   any
    36    50   332   any
    51    75   332   any
    78   139   332   any
   142   189   332   any
   192   262   332   any
   265   336   332   any
  LineNumberTable: 
   line 104: 0
   line 105: 7
   line 106: 17
   line 107: 21
   line 108: 29
   line 109: 36
   line 111: 40
   line 112: 47
   line 113: 51
   line 114: 53
   line 116: 56
   line 117: 60
   line 118: 67
   line 119: 78
   line 120: 83
   line 121: 90
   line 123: 102
   line 124: 112
   line 125: 125
   line 126: 131
   line 128: 142
   line 131: 151
   line 132: 162
   line 133: 175
   line 134: 181
   line 135: 192
   line 137: 201
   line 145: 219
   line 140: 222
   line 142: 224
   line 143: 230
   line 144: 232
   line 146: 235
   line 147: 241
   line 148: 248
   line 151: 251
   line 153: 265
   line 154: 280
   line 155: 285
   line 156: 290
   line 157: 309
   line 159: 332

public int send(java.nio.ByteBuffer,java.net.SocketAddress);
   throws java/io/IOException
  Code:
   Stack=4, Locals=12, Args_size=3
   0:	aload_1
   1:	ifnonnull	12
   4:	new	#173; //class NullPointerException
   7:	dup
   8:	invokespecial	#407; //Method java/lang/NullPointerException."<init>":()V
   11:	athrow
   12:	aload_0
   13:	getfield	#388; //Field writeLock:Ljava/lang/Object;
   16:	dup
   17:	astore_3
   18:	monitorenter
   19:	aload_0
   20:	invokespecial	#434; //Method ensureOpen:()V
   23:	aload_2
   24:	checkcast	#179; //class InetSocketAddress
   27:	astore	4
   29:	aload	4
   31:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   34:	astore	5
   36:	aload	5
   38:	ifnonnull	51
   41:	new	#164; //class IOException
   44:	dup
   45:	ldc	#4; //String Target address not resolved
   47:	invokespecial	#397; //Method java/io/IOException."<init>":(Ljava/lang/String;)V
   50:	athrow
   51:	aload_0
   52:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   55:	dup
   56:	astore	6
   58:	monitorenter
   59:	aload_0
   60:	invokevirtual	#439; //Method isConnected:()Z
   63:	ifne	130
   66:	aload_2
   67:	ifnonnull	78
   70:	new	#173; //class NullPointerException
   73:	dup
   74:	invokespecial	#407; //Method java/lang/NullPointerException."<init>":()V
   77:	athrow
   78:	invokestatic	#414; //Method java/lang/System.getSecurityManager:()Ljava/lang/SecurityManager;
   81:	astore	7
   83:	aload	7
   85:	ifnull	163
   88:	aload	5
   90:	invokevirtual	#415; //Method java/net/InetAddress.isMulticastAddress:()Z
   93:	ifeq	109
   96:	aload	7
   98:	aload	4
   100:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   103:	invokevirtual	#413; //Method java/lang/SecurityManager.checkMulticast:(Ljava/net/InetAddress;)V
   106:	goto	163
   109:	aload	7
   111:	aload	4
   113:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   116:	invokevirtual	#416; //Method java/net/InetAddress.getHostAddress:()Ljava/lang/String;
   119:	aload	4
   121:	invokevirtual	#417; //Method java/net/InetSocketAddress.getPort:()I
   124:	invokevirtual	#412; //Method java/lang/SecurityManager.checkConnect:(Ljava/lang/String;I)V
   127:	goto	163
   130:	aload_2
   131:	ifnonnull	142
   134:	aload_0
   135:	getfield	#392; //Field remoteAddress:Ljava/net/SocketAddress;
   138:	astore_2
   139:	goto	163
   142:	aload_2
   143:	aload_0
   144:	getfield	#392; //Field remoteAddress:Ljava/net/SocketAddress;
   147:	invokevirtual	#409; //Method java/lang/Object.equals:(Ljava/lang/Object;)Z
   150:	ifne	163
   153:	new	#169; //class IllegalArgumentException
   156:	dup
   157:	ldc	#2; //String Connected address not equal to  target address
   159:	invokespecial	#402; //Method java/lang/IllegalArgumentException."<init>":(Ljava/lang/String;)V
   162:	athrow
   163:	aload	6
   165:	monitorexit
   166:	goto	177
   169:	astore	8
   171:	aload	6
   173:	monitorexit
   174:	aload	8
   176:	athrow
   177:	iconst_0
   178:	istore	6
   180:	aload_0
   181:	invokevirtual	#432; //Method begin:()V
   184:	aload_0
   185:	invokevirtual	#440; //Method isOpen:()Z
   188:	ifne	202
   191:	iconst_0
   192:	istore	7
   194:	jsr	258
   197:	aload_3
   198:	monitorexit
   199:	iload	7
   201:	ireturn
   202:	aload_0
   203:	invokestatic	#469; //Method sun/nio/ch/NativeThread.current:()J
   206:	putfield	#382; //Field writerThread:J
   209:	aload_0
   210:	aload_0
   211:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   214:	aload_1
   215:	aload_2
   216:	invokespecial	#452; //Method send:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;Ljava/net/SocketAddress;)I
   219:	istore	6
   221:	iload	6
   223:	bipush	-3
   225:	if_icmpne	235
   228:	aload_0
   229:	invokevirtual	#440; //Method isOpen:()Z
   232:	ifne	209
   235:	iload	6
   237:	invokestatic	#457; //Method sun/nio/ch/IOStatus.normalize:(I)I
   240:	istore	7
   242:	jsr	258
   245:	aload_3
   246:	monitorexit
   247:	iload	7
   249:	ireturn
   250:	astore	9
   252:	jsr	258
   255:	aload	9
   257:	athrow
   258:	astore	10
   260:	aload_0
   261:	lconst_0
   262:	putfield	#382; //Field writerThread:J
   265:	aload_0
   266:	iload	6
   268:	ifgt	278
   271:	iload	6
   273:	bipush	-2
   275:	if_icmpne	282
   278:	iconst_1
   279:	goto	283
   282:	iconst_0
   283:	invokevirtual	#442; //Method end:(Z)V
   286:	getstatic	#383; //Field $assertionsDisabled:Z
   289:	ifne	308
   292:	iload	6
   294:	invokestatic	#458; //Method sun/nio/ch/IOStatus.check:(I)Z
   297:	ifne	308
   300:	new	#165; //class AssertionError
   303:	dup
   304:	invokespecial	#398; //Method java/lang/AssertionError."<init>":()V
   307:	athrow
   308:	ret	10
   310:	astore	11
   312:	aload_3
   313:	monitorexit
   314:	aload	11
   316:	athrow
  Exception table:
   from   to  target type
    59   166   169   any
   169   174   169   any
   180   197   250   any
   202   245   250   any
   250   255   250   any
    19   199   310   any
   202   247   310   any
   250   314   310   any

  LineNumberTable: 
   line 203: 0
   line 204: 4
   line 206: 12
   line 207: 19
   line 208: 23
   line 209: 29
   line 210: 36
   line 211: 41
   line 212: 51
   line 213: 59
   line 214: 66
   line 215: 70
   line 216: 78
   line 217: 83
   line 218: 88
   line 219: 96
   line 221: 109
   line 226: 130
   line 227: 134
   line 228: 142
   line 229: 153
   line 234: 163
   line 236: 177
   line 238: 180
   line 239: 184
   line 240: 191
   line 241: 202
   line 243: 209
   line 244: 221
   line 245: 235
   line 247: 250
   line 248: 265
   line 249: 286
   line 251: 310

  Exceptions: 
   throws java/io/IOException
  Code:
   Stack=4, Locals=12, Args_size=3
   0:	aload_1
   1:	ifnonnull	12
   4:	new	#173; //class NullPointerException
   7:	dup
   8:	invokespecial	#407; //Method java/lang/NullPointerException."<init>":()V
   11:	athrow
   12:	aload_0
   13:	getfield	#388; //Field writeLock:Ljava/lang/Object;
   16:	dup
   17:	astore_3
   18:	monitorenter
   19:	aload_0
   20:	invokespecial	#434; //Method ensureOpen:()V
   23:	aload_2
   24:	checkcast	#179; //class InetSocketAddress
   27:	astore	4
   29:	aload	4
   31:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   34:	astore	5
   36:	aload	5
   38:	ifnonnull	51
   41:	new	#164; //class IOException
   44:	dup
   45:	ldc	#4; //String Target address not resolved
   47:	invokespecial	#397; //Method java/io/IOException."<init>":(Ljava/lang/String;)V
   50:	athrow
   51:	aload_0
   52:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   55:	dup
   56:	astore	6
   58:	monitorenter
   59:	aload_0
   60:	invokevirtual	#439; //Method isConnected:()Z
   63:	ifne	130
   66:	aload_2
   67:	ifnonnull	78
   70:	new	#173; //class NullPointerException
   73:	dup
   74:	invokespecial	#407; //Method java/lang/NullPointerException."<init>":()V
   77:	athrow
   78:	invokestatic	#414; //Method java/lang/System.getSecurityManager:()Ljava/lang/SecurityManager;
   81:	astore	7
   83:	aload	7
   85:	ifnull	163
   88:	aload	5
   90:	invokevirtual	#415; //Method java/net/InetAddress.isMulticastAddress:()Z
   93:	ifeq	109
   96:	aload	7
   98:	aload	4
   100:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   103:	invokevirtual	#413; //Method java/lang/SecurityManager.checkMulticast:(Ljava/net/InetAddress;)V
   106:	goto	163
   109:	aload	7
   111:	aload	4
   113:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   116:	invokevirtual	#416; //Method java/net/InetAddress.getHostAddress:()Ljava/lang/String;
   119:	aload	4
   121:	invokevirtual	#417; //Method java/net/InetSocketAddress.getPort:()I
   124:	invokevirtual	#412; //Method java/lang/SecurityManager.checkConnect:(Ljava/lang/String;I)V
   127:	goto	163
   130:	aload_2
   131:	ifnonnull	142
   134:	aload_0
   135:	getfield	#392; //Field remoteAddress:Ljava/net/SocketAddress;
   138:	astore_2
   139:	goto	163
   142:	aload_2
   143:	aload_0
   144:	getfield	#392; //Field remoteAddress:Ljava/net/SocketAddress;
   147:	invokevirtual	#409; //Method java/lang/Object.equals:(Ljava/lang/Object;)Z
   150:	ifne	163
   153:	new	#169; //class IllegalArgumentException
   156:	dup
   157:	ldc	#2; //String Connected address not equal to  target address
   159:	invokespecial	#402; //Method java/lang/IllegalArgumentException."<init>":(Ljava/lang/String;)V
   162:	athrow
   163:	aload	6
   165:	monitorexit
   166:	goto	177
   169:	astore	8
   171:	aload	6
   173:	monitorexit
   174:	aload	8
   176:	athrow
   177:	iconst_0
   178:	istore	6
   180:	aload_0
   181:	invokevirtual	#432; //Method begin:()V
   184:	aload_0
   185:	invokevirtual	#440; //Method isOpen:()Z
   188:	ifne	202
   191:	iconst_0
   192:	istore	7
   194:	jsr	258
   197:	aload_3
   198:	monitorexit
   199:	iload	7
   201:	ireturn
   202:	aload_0
   203:	invokestatic	#469; //Method sun/nio/ch/NativeThread.current:()J
   206:	putfield	#382; //Field writerThread:J
   209:	aload_0
   210:	aload_0
   211:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   214:	aload_1
   215:	aload_2
   216:	invokespecial	#452; //Method send:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;Ljava/net/SocketAddress;)I
   219:	istore	6
   221:	iload	6
   223:	bipush	-3
   225:	if_icmpne	235
   228:	aload_0
   229:	invokevirtual	#440; //Method isOpen:()Z
   232:	ifne	209
   235:	iload	6
   237:	invokestatic	#457; //Method sun/nio/ch/IOStatus.normalize:(I)I
   240:	istore	7
   242:	jsr	258
   245:	aload_3
   246:	monitorexit
   247:	iload	7
   249:	ireturn
   250:	astore	9
   252:	jsr	258
   255:	aload	9
   257:	athrow
   258:	astore	10
   260:	aload_0
   261:	lconst_0
   262:	putfield	#382; //Field writerThread:J
   265:	aload_0
   266:	iload	6
   268:	ifgt	278
   271:	iload	6
   273:	bipush	-2
   275:	if_icmpne	282
   278:	iconst_1
   279:	goto	283
   282:	iconst_0
   283:	invokevirtual	#442; //Method end:(Z)V
   286:	getstatic	#383; //Field $assertionsDisabled:Z
   289:	ifne	308
   292:	iload	6
   294:	invokestatic	#458; //Method sun/nio/ch/IOStatus.check:(I)Z
   297:	ifne	308
   300:	new	#165; //class AssertionError
   303:	dup
   304:	invokespecial	#398; //Method java/lang/AssertionError."<init>":()V
   307:	athrow
   308:	ret	10
   310:	astore	11
   312:	aload_3
   313:	monitorexit
   314:	aload	11
   316:	athrow
  Exception table:
   from   to  target type
    59   166   169   any
   169   174   169   any
   180   197   250   any
   202   245   250   any
   250   255   250   any
    19   199   310   any
   202   247   310   any
   250   314   310   any
  LineNumberTable: 
   line 203: 0
   line 204: 4
   line 206: 12
   line 207: 19
   line 208: 23
   line 209: 29
   line 210: 36
   line 211: 41
   line 212: 51
   line 213: 59
   line 214: 66
   line 215: 70
   line 216: 78
   line 217: 83
   line 218: 88
   line 219: 96
   line 221: 109
   line 226: 130
   line 227: 134
   line 228: 142
   line 229: 153
   line 234: 163
   line 236: 177
   line 238: 180
   line 239: 184
   line 240: 191
   line 241: 202
   line 243: 209
   line 244: 221
   line 245: 235
   line 247: 250
   line 248: 265
   line 249: 286
   line 251: 310

public java.nio.channels.DatagramChannel connect(java.net.SocketAddress);
   throws java/io/IOException
  Code:
   Stack=4, Locals=13, Args_size=2
   0:	iconst_0
   1:	istore_2
   2:	iconst_0
   3:	istore_3
   4:	aload_0
   5:	getfield	#386; //Field readLock:Ljava/lang/Object;
   8:	dup
   9:	astore	4
   11:	monitorenter
   12:	aload_0
   13:	getfield	#388; //Field writeLock:Ljava/lang/Object;
   16:	dup
   17:	astore	5
   19:	monitorenter
   20:	aload_0
   21:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   24:	dup
   25:	astore	6
   27:	monitorenter
   28:	aload_0
   29:	invokevirtual	#435; //Method ensureOpenAndUnconnected:()V
   32:	aload_1
   33:	invokestatic	#476; //Method sun/nio/ch/Net.checkAddress:(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
   36:	astore	7
   38:	invokestatic	#414; //Method java/lang/System.getSecurityManager:()Ljava/lang/SecurityManager;
   41:	astore	8
   43:	aload	8
   45:	ifnull	66
   48:	aload	8
   50:	aload	7
   52:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   55:	invokevirtual	#416; //Method java/net/InetAddress.getHostAddress:()Ljava/lang/String;
   58:	aload	7
   60:	invokevirtual	#417; //Method java/net/InetSocketAddress.getPort:()I
   63:	invokevirtual	#412; //Method java/lang/SecurityManager.checkConnect:(Ljava/lang/String;I)V
   66:	aload_0
   67:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   70:	aload	7
   72:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   75:	aload	7
   77:	invokevirtual	#417; //Method java/net/InetSocketAddress.getPort:()I
   80:	iload_2
   81:	invokestatic	#474; //Method sun/nio/ch/Net.connect:(Ljava/io/FileDescriptor;Ljava/net/InetAddress;II)I
   84:	istore	9
   86:	iload	9
   88:	ifgt	99
   91:	new	#168; //class Error
   94:	dup
   95:	invokespecial	#401; //Method java/lang/Error."<init>":()V
   98:	athrow
   99:	aload_0
   100:	getstatic	#376; //Field ST_CONNECTED:I
   103:	putfield	#380; //Field state:I
   106:	aload_0
   107:	aload_1
   108:	putfield	#392; //Field remoteAddress:Ljava/net/SocketAddress;
   111:	aload_0
   112:	aload	7
   114:	putfield	#393; //Field sender:Ljava/net/SocketAddress;
   117:	aload_0
   118:	aload	7
   120:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   123:	putfield	#390; //Field cachedSenderInetAddress:Ljava/net/InetAddress;
   126:	aload_0
   127:	aload	7
   129:	invokevirtual	#417; //Method java/net/InetSocketAddress.getPort:()I
   132:	putfield	#378; //Field cachedSenderPort:I
   135:	aload	6
   137:	monitorexit
   138:	goto	149
   141:	astore	10
   143:	aload	6
   145:	monitorexit
   146:	aload	10
   148:	athrow
   149:	aload	5
   151:	monitorexit
   152:	goto	163
   155:	astore	11
   157:	aload	5
   159:	monitorexit
   160:	aload	11
   162:	athrow
   163:	aload	4
   165:	monitorexit
   166:	goto	177
   169:	astore	12
   171:	aload	4
   173:	monitorexit
   174:	aload	12
   176:	athrow
   177:	aload_0
   178:	areturn
  Exception table:
   from   to  target type
    28   138   141   any
   141   146   141   any
    20   152   155   any
   155   160   155   any
    12   166   169   any
   169   174   169   any

  LineNumberTable: 
   line 502: 0
   line 503: 2
   line 505: 4
   line 506: 12
   line 507: 20
   line 508: 28
   line 509: 32
   line 510: 38
   line 511: 43
   line 512: 48
   line 514: 66
   line 518: 86
   line 519: 91
   line 522: 99
   line 523: 106
   line 524: 111
   line 525: 117
   line 526: 126
   line 527: 135
   line 528: 149
   line 529: 163
   line 530: 177

  Exceptions: 
   throws java/io/IOException
  Code:
   Stack=4, Locals=13, Args_size=2
   0:	iconst_0
   1:	istore_2
   2:	iconst_0
   3:	istore_3
   4:	aload_0
   5:	getfield	#386; //Field readLock:Ljava/lang/Object;
   8:	dup
   9:	astore	4
   11:	monitorenter
   12:	aload_0
   13:	getfield	#388; //Field writeLock:Ljava/lang/Object;
   16:	dup
   17:	astore	5
   19:	monitorenter
   20:	aload_0
   21:	getfield	#387; //Field stateLock:Ljava/lang/Object;
   24:	dup
   25:	astore	6
   27:	monitorenter
   28:	aload_0
   29:	invokevirtual	#435; //Method ensureOpenAndUnconnected:()V
   32:	aload_1
   33:	invokestatic	#476; //Method sun/nio/ch/Net.checkAddress:(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
   36:	astore	7
   38:	invokestatic	#414; //Method java/lang/System.getSecurityManager:()Ljava/lang/SecurityManager;
   41:	astore	8
   43:	aload	8
   45:	ifnull	66
   48:	aload	8
   50:	aload	7
   52:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   55:	invokevirtual	#416; //Method java/net/InetAddress.getHostAddress:()Ljava/lang/String;
   58:	aload	7
   60:	invokevirtual	#417; //Method java/net/InetSocketAddress.getPort:()I
   63:	invokevirtual	#412; //Method java/lang/SecurityManager.checkConnect:(Ljava/lang/String;I)V
   66:	aload_0
   67:	getfield	#384; //Field fd:Ljava/io/FileDescriptor;
   70:	aload	7
   72:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   75:	aload	7
   77:	invokevirtual	#417; //Method java/net/InetSocketAddress.getPort:()I
   80:	iload_2
   81:	invokestatic	#474; //Method sun/nio/ch/Net.connect:(Ljava/io/FileDescriptor;Ljava/net/InetAddress;II)I
   84:	istore	9
   86:	iload	9
   88:	ifgt	99
   91:	new	#168; //class Error
   94:	dup
   95:	invokespecial	#401; //Method java/lang/Error."<init>":()V
   98:	athrow
   99:	aload_0
   100:	getstatic	#376; //Field ST_CONNECTED:I
   103:	putfield	#380; //Field state:I
   106:	aload_0
   107:	aload_1
   108:	putfield	#392; //Field remoteAddress:Ljava/net/SocketAddress;
   111:	aload_0
   112:	aload	7
   114:	putfield	#393; //Field sender:Ljava/net/SocketAddress;
   117:	aload_0
   118:	aload	7
   120:	invokevirtual	#418; //Method java/net/InetSocketAddress.getAddress:()Ljava/net/InetAddress;
   123:	putfield	#390; //Field cachedSenderInetAddress:Ljava/net/InetAddress;
   126:	aload_0
   127:	aload	7
   129:	invokevirtual	#417; //Method java/net/InetSocketAddress.getPort:()I
   132:	putfield	#378; //Field cachedSenderPort:I
   135:	aload	6
   137:	monitorexit
   138:	goto	149
   141:	astore	10
   143:	aload	6
   145:	monitorexit
   146:	aload	10
   148:	athrow
   149:	aload	5
   151:	monitorexit
   152:	goto	163
   155:	astore	11
   157:	aload	5
   159:	monitorexit
   160:	aload	11
   162:	athrow
   163:	aload	4
   165:	monitorexit
   166:	goto	177
   169:	astore	12
   171:	aload	4
   173:	monitorexit
   174:	aload	12
   176:	athrow
   177:	aload_0
   178:	areturn
  Exception table:
   from   to  target type
    28   138   141   any
   141   146   141   any
    20   152   155   any
   155   160   155   any
    12   166   169   any
   169   174   169   any
  LineNumberTable: 
   line 502: 0
   line 503: 2
   line 505: 4
   line 506: 12
   line 507: 20
   line 508: 28
   line 509: 32
   line 510: 38
   line 511: 43
   line 512: 48
   line 514: 66
   line 518: 86
   line 519: 91
   line 522: 99
   line 523: 106
   line 524: 111
   line 525: 117
   line 526: 126
   line 527: 135
   line 528: 149
   line 529: 163
   line 530: 177

}

