1
2
3
4
5
6
7
8
9
10
11
12
í³Ôdc@sddlmZddlZddlmZddlmZdejfd„ƒYZdejfd„ƒYZ    da d    „Z dS(
iÿÿÿÿ(tAsyncoreServerN(t    Singleton(tSingletonObjectt MongoDBServercBs2eZded„Zd„Zd„Zd„ZRS(iÿÿÿÿcCs#tjj|d|ƒ||_dS(NR(RtAsynCoreServert__init__t_MongoDBServer__notifyPrepare(tselft MaxClientCntt notifyPrepare((s$.\\ServersRoute\Net\MongoDBServer.pyRscCs"tj|||||jƒ}|S(s½ÓÊÕÁ¬½Óʼþ֪ͨ(tMongoDBServerClientR(RtsocktaddrtonClientDisconnectt    recvQueuetclient((s$.\\ServersRoute\Net\MongoDBServer.pytonAcceptClientsc    Csˆtjƒjƒ}|j|ƒ||jƒ_||jƒ_||jƒ_||jƒ_||jƒ_    |j
|ƒ|j |ƒdS(N( Rt getPackPooltalloct setSessionIDt getPackHeadt    sessionIDt    poolIndexttypet
dstSvrTypet
srcSvrTypet    setBuffertpushSend(    RtsendViaSessionIDRRRRRtbuftsendPack((s$.\\ServersRoute\Net\MongoDBServer.pytpackSendBySessionID&s  cCs|jj|ƒS(N(t    clientMgrtgetClientSessionIDByIndex(Rtindex((s$.\\ServersRoute\Net\MongoDBServer.pyR!7s(t__name__t
__module__tTrueRRRR!(((s$.\\ServersRoute\Net\MongoDBServer.pyRs        tMongoDBServerMgrcBsbeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z RS(
cCs i|_dS(N(t_MongoDBServerMgr__ServersDict(R((s$.\\ServersRoute\Net\MongoDBServer.pyRIscCs(x!|jjƒD]}|jƒqWdS(N(R'tvaluestprocessSendQueue(Rtv((s$.\\ServersRoute\Net\MongoDBServer.pytprocessAllSendQueueMscCs'|jj|ƒrtS||j|<tS(N(R'thas_keytFalseR%(RtNametServer((s$.\\ServersRoute\Net\MongoDBServer.pyt    AddServerQs cCs|jj|dƒS(N(R'tgettNone(RR.((s$.\\ServersRoute\Net\MongoDBServer.pyt    GetServerYscCs(x!|jjƒD]}|jƒqWdS(N(R'R(tstop(RtoServer((s$.\\ServersRoute\Net\MongoDBServer.pyR4cscCs/|j|jƒƒ}|r+|j|ƒndS(N(tFindServerByClientSessionIDt getSessionIDR(RtpackR5((s$.\\ServersRoute\Net\MongoDBServer.pyRoscCs i|_dS(N(R'(R((s$.\\ServersRoute\Net\MongoDBServer.pytClearuscCs&|j|ƒ}|r"|j|ƒSdS(Niÿÿÿÿ(R3R!(RtnameR"tserver((s$.\\ServersRoute\Net\MongoDBServer.pytgetClientSessionIDByNameys cCs1x*|jjƒD]}|j|ƒr|SqWdS(N(R'R(tFindClientBySessionIDR2(RRR;((s$.\\ServersRoute\Net\MongoDBServer.pyR6sc    Cs;|j|ƒ}|r7|j|||||||ƒndS(N(R6R(    RRRRRRRRR;((s$.\\ServersRoute\Net\MongoDBServer.pyR…s( R#R$RR+R0R3R4RR9R<R6R(((s$.\\ServersRoute\Net\MongoDBServer.pyR&Gs                
                     cCstr
tStƒatS(N(t__MongoDBServerMgrR&(((s$.\\ServersRoute\Net\MongoDBServer.pyt getServerMgrŒs    ( tNetCoreRR
tCommonRtDBCommonRRRR&R2R>R?(((s$.\\ServersRoute\Net\MongoDBServer.pyt<module>s 7C