This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088
Fork of libMiMic by
core/net/httpd/NyLPC_cHttpd.c@79:baa21f8763cf, 2014-06-24 (annotated)
- Committer:
- nyatla
- Date:
- Tue Jun 24 09:37:24 2014 +0000
- Revision:
- 79:baa21f8763cf
- Parent:
- 12:efe841863fc8
- Child:
- 109:18f12ac01097
MiMic core r375???
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nyatla | 2:b96c1e90d120 | 1 | #include "NyLPC_cHttpd_protected.h" |
nyatla | 2:b96c1e90d120 | 2 | |
nyatla | 2:b96c1e90d120 | 3 | |
nyatla | 2:b96c1e90d120 | 4 | |
nyatla | 2:b96c1e90d120 | 5 | void NyLPC_cHttpd_initialize(NyLPC_TcHttpd_t* i_inst,NyLPC_TUInt16 i_port_number) |
nyatla | 2:b96c1e90d120 | 6 | { |
nyatla | 2:b96c1e90d120 | 7 | int i; |
nyatla | 2:b96c1e90d120 | 8 | i_inst->_num_of_active_connection=0; |
nyatla | 2:b96c1e90d120 | 9 | NyLPC_cMutex_initialize(&i_inst->_mutex); |
nyatla | 2:b96c1e90d120 | 10 | NyLPC_cTcpListener_initialize(&(i_inst->_listener),i_port_number); |
nyatla | 79:baa21f8763cf | 11 | for(i=0;i<NyLPC_cHttpd_NUMBER_OF_CONNECTION_THREAD;i++){ |
nyatla | 2:b96c1e90d120 | 12 | NyLPC_cHttpdThread_initialize(&(i_inst->_thread[i]),i_inst,NyLPC_TcThread_PRIORITY_IDLE); |
nyatla | 2:b96c1e90d120 | 13 | } |
nyatla | 2:b96c1e90d120 | 14 | } |
nyatla | 2:b96c1e90d120 | 15 | void NyLPC_cHttpd_finalize(NyLPC_TcHttpd_t* i_inst) |
nyatla | 2:b96c1e90d120 | 16 | { |
nyatla | 2:b96c1e90d120 | 17 | NyLPC_cMutex_finalize(&i_inst->_mutex); |
nyatla | 2:b96c1e90d120 | 18 | } |
nyatla | 2:b96c1e90d120 | 19 | |
nyatla | 2:b96c1e90d120 | 20 | void NyLPC_cHttpd_loop(NyLPC_TcHttpd_t* i_inst) |
nyatla | 2:b96c1e90d120 | 21 | { |
nyatla | 2:b96c1e90d120 | 22 | int i; |
nyatla | 2:b96c1e90d120 | 23 | for(;;){ |
nyatla | 2:b96c1e90d120 | 24 | //ターミネイト状態のタスクを検索 |
nyatla | 79:baa21f8763cf | 25 | for(i=0;i<NyLPC_cHttpd_NUMBER_OF_CONNECTION_THREAD;i++){ |
nyatla | 2:b96c1e90d120 | 26 | NyLPC_cHttpdThread_start(&(i_inst->_thread[i]),&i_inst->_listener); |
nyatla | 2:b96c1e90d120 | 27 | } |
nyatla | 2:b96c1e90d120 | 28 | NyLPC_cThread_yield(); |
nyatla | 2:b96c1e90d120 | 29 | } |
nyatla | 2:b96c1e90d120 | 30 | } |
nyatla | 2:b96c1e90d120 | 31 | |
nyatla | 2:b96c1e90d120 | 32 | |
nyatla | 2:b96c1e90d120 | 33 | |
nyatla | 2:b96c1e90d120 | 34 | NyLPC_TUInt16 NyLPC_cHttpd_incNumOfConnection(NyLPC_TcHttpd_t* i_inst) |
nyatla | 2:b96c1e90d120 | 35 | { |
nyatla | 2:b96c1e90d120 | 36 | i_inst->_num_of_active_connection++; |
nyatla | 79:baa21f8763cf | 37 | NyLPC_Assert(i_inst->_num_of_active_connection<=NyLPC_cHttpd_NUMBER_OF_CONNECTION_THREAD); |
nyatla | 2:b96c1e90d120 | 38 | return i_inst->_num_of_active_connection; |
nyatla | 2:b96c1e90d120 | 39 | } |
nyatla | 2:b96c1e90d120 | 40 | NyLPC_TUInt16 NyLPC_cHttpd_decNumOfConnection(NyLPC_TcHttpd_t* i_inst) |
nyatla | 2:b96c1e90d120 | 41 | { |
nyatla | 2:b96c1e90d120 | 42 | i_inst->_num_of_active_connection--; |
nyatla | 2:b96c1e90d120 | 43 | NyLPC_Assert(i_inst->_num_of_active_connection>=0); |
nyatla | 2:b96c1e90d120 | 44 | return i_inst->_num_of_active_connection; |
nyatla | 2:b96c1e90d120 | 45 | } |
nyatla | 2:b96c1e90d120 | 46 | |
nyatla | 2:b96c1e90d120 | 47 | /** |
nyatla | 2:b96c1e90d120 | 48 | * Httpd全体で唯一のロックを取得する。 |
nyatla | 2:b96c1e90d120 | 49 | */ |
nyatla | 2:b96c1e90d120 | 50 | void NyLPC_cHttpd_lock(NyLPC_TcHttpd_t* i_inst) |
nyatla | 2:b96c1e90d120 | 51 | { |
nyatla | 2:b96c1e90d120 | 52 | NyLPC_cMutex_lock(&i_inst->_mutex); |
nyatla | 2:b96c1e90d120 | 53 | } |
nyatla | 2:b96c1e90d120 | 54 | /** |
nyatla | 2:b96c1e90d120 | 55 | * Httpd全体で唯一のロックを開放する。 |
nyatla | 2:b96c1e90d120 | 56 | */ |
nyatla | 2:b96c1e90d120 | 57 | void NyLPC_cHttpd_unlock(NyLPC_TcHttpd_t* i_inst) |
nyatla | 2:b96c1e90d120 | 58 | { |
nyatla | 2:b96c1e90d120 | 59 | NyLPC_cMutex_unlock(&i_inst->_mutex); |
nyatla | 79:baa21f8763cf | 60 | } |