This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088

Fork of libMiMic by Ryo Iizuka

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?

UserRevisionLine numberNew 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 }