Overview
Comment: | Add -[readExactlyNBytes:intoBuffer:] to OFStream. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
96c875384730f795203c58ffc51c5a21 |
User & Date: | js on 2010-04-08 23:10:18 |
Other Links: | manifest | tags |
Context
2010-04-08
| ||
23:26 | Add -[readDataArrayWithItemSize:andNItems:] to OFStream. check-in: 3006cccbb9 user: js tags: trunk | |
23:10 | Add -[readExactlyNBytes:intoBuffer:] to OFStream. check-in: 96c8753847 user: js tags: trunk | |
21:23 | Add -[writeDataArray:] to OFStream. check-in: 967a5e6a40 user: js tags: trunk | |
Changes
Modified src/OFStream.h from [6261e9a8b9] to [c52cf90821].
︙ | ︙ | |||
42 43 44 45 46 47 48 | * for being overriden in subclasses! * * \return A boolean whether the end of the stream has been reached */ - (BOOL)atEndOfStreamWithoutCache; /** | | | | | | > > > > > > > > > > > > > | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | * for being overriden in subclasses! * * \return A boolean whether the end of the stream has been reached */ - (BOOL)atEndOfStreamWithoutCache; /** * Reads at most size bytes from the stream into a buffer. * * IMPORTANT: Do *NOT* override this in subclasses! Override * readNBytesWithoutCache:intoBuffer: instead, as otherwise, you *WILL* break * caching and thus get broken results! * * \param buf The buffer into which the data is read * \param size The size of the data that should be read at most. * The buffer MUST be at least size big! * \return The number of bytes read */ - (size_t)readNBytes: (size_t)size intoBuffer: (char*)buf; /** * Reads from the stream into a buffer without looking at the cache. * * IMPORTANT: Do *NOT* use this! Use readNBytes:intoBuffer: instead, as this is * *ONLY* for being overriden in subclasses! * * \param buf The buffer into which the data is read * \param size The size of the data that should be read at most. * The buffer MUST be at least size big! * \return The number of bytes read */ - (size_t)readNBytesWithoutCache: (size_t)size intoBuffer: (char*)buf; /** * Reads exactly size bytes from the stream into a buffer. Unlike * readNBytes:intoBuffer:, this method does not return when less than the * specified size has been read - instead, it waits until it got exactly size * bytes. * * \param buf The buffer into which the data is read * \param size The size of the data that should be read. * The buffer MUST be EXACTLY this big! */ - (void)readExactlyNBytes: (size_t)size intoBuffer: (char*)buf; /** * \return An OFDataArray with an item size of 1 with all the data of the * stream until the end of the stream is reached. */ - (OFDataArray*)readDataArrayTillEndOfStream; /** |
︙ | ︙ |
Modified src/OFStream.m from [37b3e2e00f] to [c0dabeb17f].
︙ | ︙ | |||
87 88 89 90 91 92 93 94 95 96 97 98 99 100 | - (size_t)readNBytesWithoutCache: (size_t)size intoBuffer: (char*)buf { @throw [OFNotImplementedException newWithClass: isa selector: _cmd]; } - (OFDataArray*)readDataArrayTillEndOfStream { OFDataArray *a; char *buf; a = [OFDataArray dataArrayWithItemSize: 1]; | > > > > > > > > > > | 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | - (size_t)readNBytesWithoutCache: (size_t)size intoBuffer: (char*)buf { @throw [OFNotImplementedException newWithClass: isa selector: _cmd]; } - (void)readExactlyNBytes: (size_t)size intoBuffer: (char*)buf { size_t len = 0; while (len < size) len += [self readNBytes: size - len intoBuffer: buf + len]; } - (OFDataArray*)readDataArrayTillEndOfStream { OFDataArray *a; char *buf; a = [OFDataArray dataArrayWithItemSize: 1]; |
︙ | ︙ |