Vert.x Basics(3) - Buffers
Vert.x에서 실행되는 Verticle들은 때때로 데이터 블록을 처리해야 한다. 예를 들어, HTTP request를 받으면 그 안에 있는 데이터를 처리해야 할 수도 있고, 디스크로부터 로딩하는 데이터, 또는 HTTP request에 응답을 하기 위해 생성된 데이터 등등이 있을 것이다. Vert.x는 Buffer
인터페이스를 제공하여 이러한 데이터 블록 처리를 돕는다.
Buffer
는 binary data를 저장할 수 있다. 따라서 Buffer는 byte array와 비슷한데, Buffer는 데이터를 저장함과 동시에 동적으로 용량을 늘릴 수 있다.
Creating a Buffer
Buffer를 생성하기 위해서는 Buffer
인터페이스에 있는 static 메소드인 buffer()
를 호출한다.
초기 데이터와 함께 Buffer를 생성할 수도 있다. 예를 들어, byte arry로 초기화한다면 다음과 같이 할 수 있다.
Writing to a Buffer
Buffer의 특정 포지션에 데이터를 저장하기 위해 set...()
메소드를 사용할 수 있다.
Buffer의 길이는 0으로 시작해, 데이터가 추가될 수록 동적으로 늘어난다. 위 코드를 실행하면 최종 Buffer 길이는 28이 된다.
특정 포지션을 지정하지 않고 append...()
메소드를 써서 데이터를 추가할 수도 있다. (항상 Buffer의 마지막 부분에 연결해서 추가함)
단, set...()
에서는 첫번째 추가된 byte다음에 index 2에 short가 추가되었지만 여기서는 index 1에 short가 추가됨으로, 최종 Buffer 길이는 27이다.
Reading From a Buffer
Buffer에 저장된 데이터를 get...()
메소드를 통해 읽을 수 있다.
출처
http://tutorials.jenkov.com/vert.x/buffers.html
Leave a comment