Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(205)

Side by Side Diff: net/disk_cache/mapped_file_posix.cc

Issue 8843: Add write and read/write support to FileStream (renamed from FileInputStream)... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/disk_cache/file_win.cc ('k') | net/disk_cache/mapped_file_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/disk_cache/mapped_file.h" 5 #include "net/disk_cache/mapped_file.h"
6 6
7 #include <errno.h> 7 #include <errno.h>
8 #include <sys/mman.h> 8 #include <sys/mman.h>
9 9
10 #include "net/disk_cache/disk_cache.h" 10 #include "net/disk_cache/disk_cache.h"
11 11
12 namespace disk_cache { 12 namespace disk_cache {
13 13
14 void* MappedFile::Init(const std::wstring name, size_t size) { 14 void* MappedFile::Init(const std::wstring name, size_t size) {
15 DCHECK(!init_); 15 DCHECK(!init_);
16 if (init_ || !File::Init(name)) 16 if (init_ || !File::Init(name))
17 return NULL; 17 return NULL;
18 18
19 if (!size) 19 if (!size)
20 size = GetLength(); 20 size = GetLength();
21 21
22 buffer_ = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, 22 buffer_ = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED,
23 os_file(), 0); 23 platform_file(), 0);
24 init_ = true; 24 init_ = true;
25 DCHECK(reinterpret_cast<int>(buffer_) != -1); 25 DCHECK(reinterpret_cast<int>(buffer_) != -1);
26 if (reinterpret_cast<int>(buffer_) == -1) 26 if (reinterpret_cast<int>(buffer_) == -1)
27 buffer_ = 0; 27 buffer_ = 0;
28 28
29 view_size_ = size; 29 view_size_ = size;
30 return buffer_; 30 return buffer_;
31 } 31 }
32 32
33 MappedFile::~MappedFile() { 33 MappedFile::~MappedFile() {
(...skipping 11 matching lines...) Expand all
45 return Read(block->buffer(), block->size(), offset); 45 return Read(block->buffer(), block->size(), offset);
46 } 46 }
47 47
48 bool MappedFile::Store(const FileBlock* block) { 48 bool MappedFile::Store(const FileBlock* block) {
49 size_t offset = block->offset() + view_size_; 49 size_t offset = block->offset() + view_size_;
50 return Write(block->buffer(), block->size(), offset); 50 return Write(block->buffer(), block->size(), offset);
51 } 51 }
52 52
53 } // namespace disk_cache 53 } // namespace disk_cache
54 54
OLDNEW
« no previous file with comments | « net/disk_cache/file_win.cc ('k') | net/disk_cache/mapped_file_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698