Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
PacketBuffer.h@1:039fb6d44f92, 2011-08-25 (annotated)
- Committer:
- jksoft
- Date:
- Thu Aug 25 02:15:08 2011 +0000
- Revision:
- 1:039fb6d44f92
- Parent:
- 0:0e4cbd5ddf25
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| jksoft | 0:0e4cbd5ddf25 | 1 | |
| jksoft | 0:0e4cbd5ddf25 | 2 | |
| jksoft | 0:0e4cbd5ddf25 | 3 | /** @file PacketBuffer.h |
| jksoft | 0:0e4cbd5ddf25 | 4 | * @brief Packet Buffer |
| jksoft | 0:0e4cbd5ddf25 | 5 | */ |
| jksoft | 0:0e4cbd5ddf25 | 6 | |
| jksoft | 0:0e4cbd5ddf25 | 7 | #ifndef PacketBuffer_H |
| jksoft | 0:0e4cbd5ddf25 | 8 | #define PacketBuffer_H |
| jksoft | 0:0e4cbd5ddf25 | 9 | |
| jksoft | 0:0e4cbd5ddf25 | 10 | #include "mbed.h" |
| jksoft | 0:0e4cbd5ddf25 | 11 | |
| jksoft | 0:0e4cbd5ddf25 | 12 | typedef struct |
| jksoft | 0:0e4cbd5ddf25 | 13 | { |
| jksoft | 0:0e4cbd5ddf25 | 14 | char *buf; |
| jksoft | 0:0e4cbd5ddf25 | 15 | int size; |
| jksoft | 0:0e4cbd5ddf25 | 16 | } PacketBufInf; |
| jksoft | 0:0e4cbd5ddf25 | 17 | |
| jksoft | 0:0e4cbd5ddf25 | 18 | class PacketBuffer { |
| jksoft | 0:0e4cbd5ddf25 | 19 | public: |
| jksoft | 0:0e4cbd5ddf25 | 20 | /** init Stack class |
| jksoft | 0:0e4cbd5ddf25 | 21 | * @param num buffering packet num |
| jksoft | 0:0e4cbd5ddf25 | 22 | * @param packet_size size of packet(max size) |
| jksoft | 0:0e4cbd5ddf25 | 23 | */ |
| jksoft | 0:0e4cbd5ddf25 | 24 | PacketBuffer(int num,int packet_size); |
| jksoft | 0:0e4cbd5ddf25 | 25 | ~PacketBuffer(); |
| jksoft | 0:0e4cbd5ddf25 | 26 | |
| jksoft | 0:0e4cbd5ddf25 | 27 | /** put to Packet buffer |
| jksoft | 0:0e4cbd5ddf25 | 28 | * @param packet packet data |
| jksoft | 0:0e4cbd5ddf25 | 29 | * @param len packet length |
| jksoft | 0:0e4cbd5ddf25 | 30 | * @return put length |
| jksoft | 0:0e4cbd5ddf25 | 31 | */ |
| jksoft | 0:0e4cbd5ddf25 | 32 | int PutPacket(char *packet, int len); |
| jksoft | 0:0e4cbd5ddf25 | 33 | |
| jksoft | 0:0e4cbd5ddf25 | 34 | /** get from ring buffer |
| jksoft | 0:0e4cbd5ddf25 | 35 | * @param packet packet data |
| jksoft | 0:0e4cbd5ddf25 | 36 | * @return get length |
| jksoft | 0:0e4cbd5ddf25 | 37 | */ |
| jksoft | 0:0e4cbd5ddf25 | 38 | int GetPacket(char *packet); |
| jksoft | 0:0e4cbd5ddf25 | 39 | |
| jksoft | 0:0e4cbd5ddf25 | 40 | void clear(); |
| jksoft | 0:0e4cbd5ddf25 | 41 | int available(); |
| jksoft | 0:0e4cbd5ddf25 | 42 | int use(); |
| jksoft | 0:0e4cbd5ddf25 | 43 | |
| jksoft | 0:0e4cbd5ddf25 | 44 | private: |
| jksoft | 0:0e4cbd5ddf25 | 45 | PacketBufInf *p_buf; |
| jksoft | 0:0e4cbd5ddf25 | 46 | int max_num,max_size; |
| jksoft | 0:0e4cbd5ddf25 | 47 | int addr_w, addr_r; |
| jksoft | 0:0e4cbd5ddf25 | 48 | }; |
| jksoft | 0:0e4cbd5ddf25 | 49 | #endif |