diff options
| author | Matthew Sackman <matthew@lshift.net> | 2009-10-30 12:28:19 +0000 |
|---|---|---|
| committer | Matthew Sackman <matthew@lshift.net> | 2009-10-30 12:28:19 +0000 |
| commit | 10a3d6a573a168d6df8ae59fe315215ec70949cc (patch) | |
| tree | d7519863c72539d74399352e10e6a1708ac929cf /src | |
| parent | 0b8a18cfb2ad1a63683945d08d0be48220156a36 (diff) | |
| download | rabbitmq-server-git-10a3d6a573a168d6df8ae59fe315215ec70949cc.tar.gz | |
cosmetics to fhc - just moving and tidying
Diffstat (limited to 'src')
| -rw-r--r-- | src/file_handle_cache.erl | 56 |
1 files changed, 31 insertions, 25 deletions
diff --git a/src/file_handle_cache.erl b/src/file_handle_cache.erl index e45156dc7d..d2b0ba2e6b 100644 --- a/src/file_handle_cache.erl +++ b/src/file_handle_cache.erl @@ -31,8 +31,10 @@ -module(file_handle_cache). --export([open/3, close/1, release/1, read/2, append/2, sync/1, - position/2, truncate/1, last_sync_offset/1]). +-export([open/3, close/1, read/2, append/2, sync/1, position/2, truncate/1, + last_sync_offset/1]). + +%%---------------------------------------------------------------------------- -record(file, { reader_count, @@ -57,6 +59,9 @@ last_used_at }). +%%---------------------------------------------------------------------------- +%% Public API + open(Path, Mode, Options) -> case is_appender(Mode) of true -> {error, append_not_supported}; @@ -132,9 +137,6 @@ close(Ref) -> end end. -release(_Ref) -> %% noop just for now - ok. - read(Ref, Count) -> case get_or_reopen(Ref) of {ok, #handle { is_read = false }} -> @@ -175,26 +177,6 @@ append(Ref, Data) -> Error -> Error end. -last_sync_offset(Ref) -> - case get_or_reopen(Ref) of - {ok, #handle { trusted_offset = TrustedOffset }} -> - {ok, TrustedOffset}; - Error -> Error - end. - -position(Ref, NewOffset) -> - case get_or_reopen(Ref) of - {ok, Handle} -> - {Result, Handle1} = - case write_buffer(Handle) of - {ok, Handle2} -> maybe_seek(NewOffset, Handle2); - {Error, Handle2} -> {Error, Handle2} - end, - put({Ref, fhc_handle}, Handle1), - Result; - Error -> Error - end. - sync(Ref) -> case get_or_reopen(Ref) of {ok, #handle { is_dirty = false, write_buffer = [] }} -> @@ -218,6 +200,19 @@ sync(Ref) -> Error -> Error end. +position(Ref, NewOffset) -> + case get_or_reopen(Ref) of + {ok, Handle} -> + {Result, Handle1} = + case write_buffer(Handle) of + {ok, Handle2} -> maybe_seek(NewOffset, Handle2); + {Error, Handle2} -> {Error, Handle2} + end, + put({Ref, fhc_handle}, Handle1), + Result; + Error -> Error + end. + truncate(Ref) -> case get_or_reopen(Ref) of {ok, #handle { is_write = false }} -> @@ -245,6 +240,17 @@ truncate(Ref) -> Error -> Error end. +last_sync_offset(Ref) -> + case get_or_reopen(Ref) of + {ok, #handle { trusted_offset = TrustedOffset }} -> + {ok, TrustedOffset}; + Error -> Error + end. + +%%---------------------------------------------------------------------------- +%% Internal functions +%%---------------------------------------------------------------------------- + get_or_reopen(Ref) -> case get({Ref, fhc_handle}) of undefined -> {error, not_open}; |
