Mercurial Hosting > luan
comparison src/org/eclipse/jetty/io/nio/SslConnection.java @ 952:669769bcdf5c
simplify AsyncEndPoint
| author | Franklin Schmidt <fschmidt@gmail.com> | 
|---|---|
| date | Wed, 12 Oct 2016 19:47:45 -0600 | 
| parents | 89fe80dfab2c | 
| children | 1094975d013b | 
   comparison
  equal
  deleted
  inserted
  replaced
| 951:e542a9cc75ef | 952:669769bcdf5c | 
|---|---|
| 59 private int _allocations; | 59 private int _allocations; | 
| 60 private SslBuffers _buffers; | 60 private SslBuffers _buffers; | 
| 61 private NIOBuffer _inbound; | 61 private NIOBuffer _inbound; | 
| 62 private NIOBuffer _unwrapBuf; | 62 private NIOBuffer _unwrapBuf; | 
| 63 private NIOBuffer _outbound; | 63 private NIOBuffer _outbound; | 
| 64 private AsyncEndPoint _aEndp; | 64 private final AsyncEndPoint _aEndp; | 
| 65 private boolean _allowRenegotiate=true; | 65 private boolean _allowRenegotiate=true; | 
| 66 private boolean _handshook; | 66 private boolean _handshook; | 
| 67 private boolean _ishut; | 67 private boolean _ishut; | 
| 68 private boolean _oshut; | 68 private boolean _oshut; | 
| 69 private final AtomicBoolean _progressed = new AtomicBoolean(); | 69 private final AtomicBoolean _progressed = new AtomicBoolean(); | 
| 83 _out=new IndirectNIOBuffer(packetSize); | 83 _out=new IndirectNIOBuffer(packetSize); | 
| 84 _unwrap=new IndirectNIOBuffer(appSize); | 84 _unwrap=new IndirectNIOBuffer(appSize); | 
| 85 } | 85 } | 
| 86 } | 86 } | 
| 87 | 87 | 
| 88 /* ------------------------------------------------------------ */ | 88 public SslConnection(SSLEngine engine,AsyncEndPoint endp) | 
| 89 public SslConnection(SSLEngine engine,EndPoint endp) | |
| 90 { | 89 { | 
| 91 this(engine,endp,System.currentTimeMillis()); | 90 this(engine,endp,System.currentTimeMillis()); | 
| 92 } | 91 } | 
| 93 | 92 | 
| 94 /* ------------------------------------------------------------ */ | 93 private SslConnection(SSLEngine engine,AsyncEndPoint endp, long timeStamp) | 
| 95 public SslConnection(SSLEngine engine,EndPoint endp, long timeStamp) | |
| 96 { | 94 { | 
| 97 super(endp,timeStamp); | 95 super(endp,timeStamp); | 
| 98 _engine=engine; | 96 _engine=engine; | 
| 99 _session=_engine.getSession(); | 97 _session=_engine.getSession(); | 
| 100 _aEndp=(AsyncEndPoint)endp; | 98 _aEndp=endp; | 
| 101 _sslEndPoint = newSslEndPoint(); | 99 _sslEndPoint = new SslEndPoint(); | 
| 102 } | |
| 103 | |
| 104 /* ------------------------------------------------------------ */ | |
| 105 protected SslEndPoint newSslEndPoint() | |
| 106 { | |
| 107 return new SslEndPoint(); | |
| 108 } | 100 } | 
| 109 | 101 | 
| 110 /* ------------------------------------------------------------ */ | 102 /* ------------------------------------------------------------ */ | 
| 111 /** | 103 /** | 
| 112 * @return True if SSL re-negotiation is allowed (default false) | 104 * @return True if SSL re-negotiation is allowed (default false) | 
| 602 if (buffer.buffer() instanceof NIOBuffer) | 594 if (buffer.buffer() instanceof NIOBuffer) | 
| 603 return ((NIOBuffer)buffer.buffer()).getByteBuffer(); | 595 return ((NIOBuffer)buffer.buffer()).getByteBuffer(); | 
| 604 return ByteBuffer.wrap(buffer.array()); | 596 return ByteBuffer.wrap(buffer.array()); | 
| 605 } | 597 } | 
| 606 | 598 | 
| 607 /* ------------------------------------------------------------ */ | 599 public SslEndPoint getSslEndPoint() | 
| 608 public AsyncEndPoint getSslEndPoint() | |
| 609 { | 600 { | 
| 610 return _sslEndPoint; | 601 return _sslEndPoint; | 
| 611 } | 602 } | 
| 612 | 603 | 
| 613 /* ------------------------------------------------------------ */ | 604 /* ------------------------------------------------------------ */ | 
| 614 public String toString() | 605 public String toString() | 
| 615 { | 606 { | 
| 616 return String.format("%s %s", super.toString(), _sslEndPoint); | 607 return String.format("%s %s", super.toString(), _sslEndPoint); | 
| 617 } | 608 } | 
| 618 | 609 | 
| 619 /* ------------------------------------------------------------ */ | 610 | 
| 620 /* ------------------------------------------------------------ */ | 611 public final class SslEndPoint implements AsyncEndPoint | 
| 621 public class SslEndPoint implements AsyncEndPoint | |
| 622 { | 612 { | 
| 623 public SSLEngine getSslEngine() | 613 public SSLEngine getSslEngine() | 
| 624 { | 614 { | 
| 625 return _engine; | 615 return _engine; | 
| 626 } | 616 } | 
| 741 public void dispatch() | 731 public void dispatch() | 
| 742 { | 732 { | 
| 743 _aEndp.dispatch(); | 733 _aEndp.dispatch(); | 
| 744 } | 734 } | 
| 745 | 735 | 
| 746 public void scheduleWrite() | |
| 747 { | |
| 748 _aEndp.scheduleWrite(); | |
| 749 } | |
| 750 | |
| 751 public void onIdleExpired(long idleForMs) | |
| 752 { | |
| 753 _aEndp.onIdleExpired(idleForMs); | |
| 754 } | |
| 755 | |
| 756 public void setCheckForIdle(boolean check) | 736 public void setCheckForIdle(boolean check) | 
| 757 { | 737 { | 
| 758 _aEndp.setCheckForIdle(check); | 738 _aEndp.setCheckForIdle(check); | 
| 759 } | |
| 760 | |
| 761 public boolean isCheckForIdle() | |
| 762 { | |
| 763 return _aEndp.isCheckForIdle(); | |
| 764 } | |
| 765 | |
| 766 public boolean isWritable() | |
| 767 { | |
| 768 return _aEndp.isWritable(); | |
| 769 } | 739 } | 
| 770 | 740 | 
| 771 public boolean hasProgressed() | 741 public boolean hasProgressed() | 
| 772 { | 742 { | 
| 773 return _progressed.getAndSet(false); | 743 return _progressed.getAndSet(false); | 
