GnuSmalltalkUsersGuide:AdditionalChapter6 17

From 흡혈양파의 번역工房
Jump to navigation Jump to search
Sockets.ReadBuffer

Sockets.ReadBuffer

네임스페이스 Sockets에 정의됨

슈퍼클래스: ReadStream

범주: 예제-유용한 툴


나는 스트림의 끝에 도달하면 사용자가 정의한 블록을 평가하여 좀 더 많은 데이터를 얻기 위해 노력하는 ReadStream이다.


Sockets.ReadBuffer 클래스: 인스턴스 생성

on: aCollection

aCollection을 버퍼로서 사용하는 Stream을 응답하라. 당신이 fillBlock을 설정할 때까지 버퍼는 데이터가 끝났다고 보고할 것이기 때문에 첫 번째 연산 전에 fillBlock가 설정되어야만 한다.


Sockets.ReadBuffer: 접근하기-읽기

nextAvailable: anInteger into: aCollection startingAt: pos

수신자로부터 다음 anInteger 객체를 aCollection으로 위치시키되 pos 위치부터 시작한다. 보관된 항목 개수를 리턴하라.

nextAvailable: anInteger putAllOn: aStream

수신자로부터 다음 anInteger 객체를 aStream으로 복사하라. 보관된 항목의 개수를 리턴하라.


Sockets.ReadBuffer: 버퍼 처리하기

atEnd

데이터 스트림이 끝났는지 여부를 응답하라.

availableBytes

버퍼에서 얼마나 많은 바이트를 이용할 수 있는지 응답하라.

bufferContents

버퍼에 있는 데이터를 응답하고 비워라.

fill

버퍼가 빈 경우 더 많은 데이터로 버퍼를 채우고, fill 블록이 더 많은 데이터를 읽을 수 있는 경우 true를 응답하라.

fillBlock: block

버퍼를 채우는 블록을 설정하라. 이는 버퍼를 채우는 바이트 수와 컬렉션을 수신하며, 실제로 읽힌 바이트 수를 리턴해야 한다.

isEmpty

다음 입력 연산이 강제로 버퍼 채움(fill)을 실행할 것인지 응답하라.

isFull

버퍼가 방금 채워졌는지를 응답하라.

notEmpty

다음 입력 연산이 강제로 버퍼 채움을 실행할 것인지 확인하고, 그렇지 않는 경우 true를 응답하라.

pastEnd

데이터 스트림이 끝난 경우 버퍼 채우기를 시도하라.


Notes