01: /*
02:
03: Derby - Class org.apache.derby.impl.store.raw.log.LogAccessFileBuffer
04:
05: Licensed to the Apache Software Foundation (ASF) under one or more
06: contributor license agreements. See the NOTICE file distributed with
07: this work for additional information regarding copyright ownership.
08: The ASF licenses this file to you under the Apache License, Version 2.0
09: (the "License"); you may not use this file except in compliance with
10: the License. You may obtain a copy of the License at
11:
12: http://www.apache.org/licenses/LICENSE-2.0
13:
14: Unless required by applicable law or agreed to in writing, software
15: distributed under the License is distributed on an "AS IS" BASIS,
16: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17: See the License for the specific language governing permissions and
18: limitations under the License.
19:
20: */
21:
22: package org.apache.derby.impl.store.raw.log;
23:
24: /**
25:
26: A single buffer of data.
27:
28: **/
29:
30: final class LogAccessFileBuffer {
31:
32: /**************************************************************************
33: * Fields of the class
34: **************************************************************************
35: */
36: protected byte[] buffer;
37: protected int bytes_free;
38: protected int position;
39: protected int length;
40:
41: LogAccessFileBuffer next;
42: LogAccessFileBuffer prev;
43:
44: /**************************************************************************
45: * Constructors for This class:
46: **************************************************************************
47: */
48: public LogAccessFileBuffer(int size) {
49: buffer = new byte[size];
50: prev = null;
51: next = null;
52:
53: init(0);
54: }
55:
56: /**************************************************************************
57: * Private/Protected methods of This class:
58: **************************************************************************
59: */
60: public void init(int reserve) {
61: length = buffer.length - reserve;
62: bytes_free = length;
63: position = reserve;
64: }
65:
66: /**************************************************************************
67: * Public Methods of This class:
68: **************************************************************************
69: */
70:
71: /**************************************************************************
72: * Public Methods of XXXX class:
73: **************************************************************************
74: */
75: }
|