|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.nio.channels.spi.AbstractInterruptibleChannel
java.nio.channels.SelectableChannel
java.nio.channels.spi.AbstractSelectableChannel
public abstract class AbstractSelectableChannel
선택 가능 채널의 베이스 구현 클래스입니다.
이 클래스는, 채널의 등록, 등록 해제, 클로즈의 처리를 실시하는 메소드를 정의합니다. 이 클래스는, 이 채널의 현재의 블록 모드와 현재의 선택 키 세트를 관리합니다. 또,SelectableChannel
의 스펙을 구현하는데 필요한 동기 처리를 모두 실행합니다. 이 클래스에 정의되고 있는 abstract protected 메소드의 구현에서는, 같은 조작을 사용하는 것 외의 thread와의 동기 처리를 실시할 필요는 없습니다.
생성자 의 개요 | |
---|---|
protected |
AbstractSelectableChannel (SelectorProvider provider)
이 클래스의 새로운 인스턴스를 초기화합니다. |
메소드의 개요 | |
---|---|
Object |
blockingLock ()
configureBlocking 메소드와 register 메소드가 동기 하는 객체를 돌려줍니다. |
SelectableChannel |
configureBlocking (boolean block)
이 채널의 블록 모드를 조정합니다. |
protected void |
implCloseChannel ()
현재의 채널을 클로즈 합니다. |
protected abstract void |
implCloseSelectableChannel ()
이 선택 가능 채널을 클로즈 합니다. |
protected abstract void |
implConfigureBlocking (boolean block)
이 채널의 블록 모드를 조정합니다. |
boolean |
isBlocking ()
이 채널상의 개개의 입출력 조작이 전의 입출력 조작이 완료할 때까지 블록 될지 어떨지를 판단합니다. |
boolean |
isRegistered ()
현재 이 채널이 셀렉터에 등록되어 있는지 어떤지를 판단합니다. |
SelectionKey |
keyFor (Selector sel)
채널이 지정된 셀렉터에 등록되어 있는 것을 나타내는 키를 가져옵니다. |
SelectorProvider |
provider ()
이 채널의 작성원프로바이더를 돌려줍니다. |
SelectionKey |
register (Selector sel,
int ops,
Object att)
이 채널이 지정된 셀렉터에 등록해, 선택 키를 돌려줍니다. |
클래스 java.nio.channels. SelectableChannel 로부터 상속된 메소드 |
---|
register , validOps |
클래스 java.nio.channels.spi. AbstractInterruptibleChannel 로부터 상속된 메소드 |
---|
begin , close , end , isOpen |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
인터페이스 java.nio.channels. Channel 로부터 상속된 메소드 |
---|
close , isOpen |
생성자 의 상세 |
---|
protected AbstractSelectableChannel(SelectorProvider provider)
메소드의 상세 |
---|
public final SelectorProvider provider()
SelectableChannel
내의 provider
public final boolean isRegistered()
SelectableChannel
의 기술:키의 취소로부터 채널의 등록 해제까지의 사이에 발생하는 필연적인 지연이기 때문에, 키를 모두 취소해도, 당분간의 사이 채널의 등록은 해제되지 않습니다. 채널을 클로즈 했을 때도 같습니다.
SelectableChannel
내의 isRegistered
public final SelectionKey keyFor(Selector sel)
SelectableChannel
의 기술:
SelectableChannel
내의 keyFor
public final SelectionKey register(Selector sel, int ops, Object att) throws ClosedChannelException
이 메소드는, 최초로 이 채널이 오픈하고 있는 것으로, 지정된 초기 대상 세트가 유효한 것을 확인합니다.
이 채널이 지정된 셀렉터에 등록되어 있는 경우, 그 대상 세트가 지정된 값으로 설정되어 등록을 나타내는 선택 키가 돌려주어집니다.
그 이외의 경우, 이 채널은 지정된 셀렉터에 아직 등록되지 않기 때문에, 적절한 락을 보관 유지한 상태로 셀렉터의 register
메소드가 불려 갑니다. 결과적으로 얻을 수 있는 키는, 돌려주어지기 전에, 이 채널의 키 세트에 추가됩니다.
SelectableChannel
내의 register
sel
- 이 채널의 등록처 셀렉터ops
- 결과적으로 얻을 수 있는 키의 대상 세트att
- 결과적으로 얻을 수 있는 키의 첨부. null 의 경우도 있다
ClosedChannelException
- 이 채널이 클로즈 하고 있는 경우protected final void implCloseChannel() throws IOException
이 메소드는,AbstractInterruptibleChannel
클래스에서 지정되고 있습니다. 이 메소드는,close
메소드에 의해 불려 간 뒤, 이 채널을 실제로 클로즈 하는 처리를 실시하기 위해서(때문에) implCloseSelectableChannel
메소드를 호출합니다. 다음에, 이 채널의 키를 모두 취소합니다.
AbstractInterruptibleChannel
내의 implCloseChannel
IOException
- 채널의 클로즈중에 입출력 에러가 발생했을 경우protected abstract void implCloseSelectableChannel() throws IOException
이 메소드는, 채널을 클로즈 하는 실제의 처리를 실행하기 위해서 close
메소드에 의해 불려 갑니다. 이 메소드는, 채널이 아직 클로즈 하고 있지 않는 경우에게만 불려 가 2 회 이상 불려 갈 것은 없습니다.
이 메소드의 구현은, 이 채널에 대한 입출력 조작의 도중에 블록 되는 그 외의 thread를, 예외를 throw 하는지, 일반적으로의 방법을 사용해 즉시 종료시키게 되어 있습니다.
IOException
public final boolean isBlocking()
SelectableChannel
의 기술:이 채널이 클로즈 하고 있는 경우, 이 메소드의 반환값은 특정되지 않습니다.
SelectableChannel
내의 isBlocking
public final Object blockingLock()
SelectableChannel
의 기술:configureBlocking
메소드와 register
메소드가 동기 하는 객체를 돌려줍니다. 이 기능은, 특정의 블록 모드를 단시간 보관 유지할 필요가 있는 어댑터를 구현하는 경우에 편리합니다.
SelectableChannel
내의 blockingLock
public final SelectableChannel configureBlocking(boolean block) throws IOException
지정된 블록 모드가 현재의 블록 모드와 다르고 있는 경우, 이 메소드는, 적절한 락을 보관 유지한 상태로 implConfigureBlocking
메소드를 호출해 모드를 변경합니다.
SelectableChannel
내의 configureBlocking
block
- 이 채널이 블록 모드가 되는 경우는 true,
비블록 모드가 되는 경우는 false
ClosedChannelException
- 이 채널이 클로즈 하고 있는 경우
IOException
- 입출력 에러가 발생했을 경우protected abstract void implConfigureBlocking(boolean block) throws IOException
이 메소드는, 블록 모드를 변경하는 실제의 처리를 실시하기 위해서(때문에),configureBlocking
메소드에 의해 불려 갑니다. 이 메소드는, 새로운 모드가 현재의 모드와 다르고 있는 경우에 한정해 불려 갑니다.
IOException
- 입출력 에러가 발생했을 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.