GSG.NET.XML 209 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152
  1. <?xml version="1.0"?>
  2. <doc>
  3. <assembly>
  4. <name>GSG.NET</name>
  5. </assembly>
  6. <members>
  7. <member name="T:GSG.NET.Concurrent.DistributedThread">
  8. <summary>
  9. Muti Core Thread
  10. </summary>
  11. </member>
  12. <member name="T:GSG.NET.Concurrent.LockUtils">
  13. <summary>
  14. <para>Lock 처리 Utility</para>
  15. </summary>
  16. </member>
  17. <member name="M:GSG.NET.Concurrent.LockUtils.TryLock(System.Object)">
  18. <summary>
  19. <para>arg object try lock</para>
  20. </summary>
  21. </member>
  22. <member name="M:GSG.NET.Concurrent.LockUtils.Lock(System.Object)">
  23. <summary>
  24. <para>arg object lock을 얻을때까지 blocking</para>
  25. <para>동일 Thread의 경우 Lock은 Unlock 하지 않고 2번 이상 호출이 가능하다.</para>
  26. <para>Unlock을 pair하지 않을 경우 Notify가 동작하지 않으며 arg object에 대해
  27. Unlock을 하는 순간 Notify를 이용한 다음 동작이 수행된다.</para>
  28. </summary>
  29. </member>
  30. <member name="M:GSG.NET.Concurrent.LockUtils.Unlock(System.Object)">
  31. <summary>
  32. <para>arg object unlock</para>
  33. </summary>
  34. </member>
  35. <member name="M:GSG.NET.Concurrent.LockUtils.Wait">
  36. <summary>
  37. <para>무한대기</para>
  38. <para>0을 입력할 경우에만 false반환되며, 나머지는 true</para>
  39. </summary>
  40. </member>
  41. <member name="M:GSG.NET.Concurrent.LockUtils.Wait(System.Int32)">
  42. <summary>
  43. <para>Notify를 하지 않고 Wait만 하는 경우 사용.</para>
  44. <para>Threadsafe한 object을 생성하여 단순 대기.</para>
  45. <para>Notify를 이용하여 깨어나지 않으므로 항상 False 반환.</para>
  46. <para>-</para>
  47. <para>-1 or Timeout.Infinite를 넣을 경우 무한대기</para>
  48. <para>0일 경우 바로 return 됨</para>
  49. </summary>
  50. <param name="ms">milli-second</param>
  51. </member>
  52. <member name="M:GSG.NET.Concurrent.LockUtils.WaitK(System.Int32,System.Object)">
  53. <summary>
  54. 초단위 지연, K: 1000
  55. <para>0보다 작으면 무한대기</para>
  56. </summary>
  57. </member>
  58. <member name="M:GSG.NET.Concurrent.LockUtils.WaitK(System.Int32)">
  59. <summary>
  60. 초단위 지연, 기본 1초, K: 1000
  61. <para>0보다 작으면 무한대기</para>
  62. </summary>
  63. </member>
  64. <member name="M:GSG.NET.Concurrent.LockUtils.Wait100(System.Int32)">
  65. <summary>
  66. 100ms 단위 지연, 기본 100ms
  67. <para>0보다 작으면 무한대기</para>
  68. </summary>
  69. </member>
  70. <member name="M:GSG.NET.Concurrent.LockUtils.Wait(System.Object)">
  71. <summary>
  72. <para>Wait를 호출하는 순간 모든 Thread의 Lock이 해제된다. => Wait와 Lock을 같은 객체로 사용하지 않는것이 좋다.</para>
  73. <para>Wait를 했다 하더라도 Lock, Unlock의 회수는 pair가 되어야 한다.</para>
  74. <para>-</para>
  75. <para>0을 입력할 경우에만 false반환되며, 나머지는 true</para>
  76. <para>Notify로 깨어날 경우 true 반환.</para>
  77. <para>-</para>
  78. <para>lock 구문과 사용할 수 없다.</para>
  79. <para>Wait를 호출하는 순간 arg에 Lock이 모두 해제된다.</para>
  80. </summary>
  81. </member>
  82. <member name="M:GSG.NET.Concurrent.LockUtils.Wait(System.Int32,System.Object)">
  83. <summary>
  84. <para>Wait를 호출하는 순간 모든 Thread의 Lock이 해제된다. => Wait와 Lock을 같은 객체로 사용하지 않는것이 좋다.</para>
  85. <para>Wait를 했다 하더라도 Lock, Unlock의 회수는 pair가 되어야 한다.</para>
  86. <para>-</para>
  87. <para>Timeout발생 false</para>
  88. <para>Notify로 깨어날 경우 true 반환.</para>
  89. <para>-</para>
  90. <para>lock 구문과 사용할 수 없다.</para>
  91. <para>Wait를 호출하는 순간 arg에 Lock이 모두 해제된다.</para>
  92. <para>-</para>
  93. <para>-1 or Timeout.Infinite를 넣을 경우 무한대기</para>
  94. <para>0일 경우 바로 return 됨</para>
  95. </summary>
  96. <param name="ms">milli-second</param>
  97. <param name="obj"></param>
  98. </member>
  99. <member name="M:GSG.NET.Concurrent.LockUtils.NotifyAll(System.Object)">
  100. <summary>
  101. <para>arg에 대한 전체 Thread 깨움</para>
  102. </summary>
  103. </member>
  104. <member name="M:GSG.NET.Concurrent.SyncObject.Lock">
  105. <summary>
  106. 빠른 socket response 를 보정하기 위해서 Lock을 잡아둘경우
  107. LockUtils.Await의 Monitor.Wait에서 같이 깨워준다
  108. 이로서 Tcp Response를 보정할 수 있다.
  109. </summary>
  110. </member>
  111. <member name="M:GSG.NET.Concurrent.SyncObject.Await(System.Int32)">
  112. <summary>
  113. <para>Notify: true</para>
  114. <para>Timeout: false</para>
  115. </summary>
  116. </member>
  117. <member name="T:GSG.NET.Concurrent.Task4">
  118. <summary>
  119. Task, Parallel
  120. <para>Task 는 ThreadPool에서 동작하므로 PoolSize를 적절히 적용해야 빠르게 Task 를 생성한다</para>
  121. <para>-</para>
  122. <para>Go</para>
  123. <para>WaitClone, Clone</para>
  124. <para>WaitAny, WaitAll</para>
  125. </summary>
  126. </member>
  127. <member name="M:GSG.NET.Concurrent.Task4.Idle(System.Int32)">
  128. <summary>
  129. cpu 과도 사용 금지
  130. <para>매번 tick 회수(기본:100) 호출시 1ms 유휴시간</para>
  131. <para>static 이므로 application 기준 단위</para>
  132. <para>tick 0일 경우 no sleep</para>
  133. </summary>
  134. </member>
  135. <member name="P:GSG.NET.Concurrent.Task4.ThreadId">
  136. <summary>Windows Thread Id</summary>
  137. </member>
  138. <member name="M:GSG.NET.Concurrent.Task4.PoolSize(System.Int32,System.Int32)">
  139. <summary>
  140. min 최초 실행시 확보 및 유지, max 는 임계치
  141. <para>max 에 도달후 wait 되어 기존 thread 가 종료되면 다시 pool 에서 수행한다.</para>
  142. </summary>
  143. </member>
  144. <member name="M:GSG.NET.Concurrent.Task4.WaitEx(System.Threading.Tasks.Task)">
  145. <summary>
  146. Wait 에서 발생하는 에러처리+logging 확장함수
  147. <para>Waits for the System.Threading.Tasks.Task to complete execution.</para>
  148. <para>-</para>
  149. <para>Go 에서 구동된 Task 의 종료 및 에러처리 관리</para>
  150. <para>외부에서 exception 사용이 필요한 경우 Wait 사용</para>
  151. </summary>
  152. </member>
  153. <member name="M:GSG.NET.Concurrent.Task4.newActionEx(System.Action)">
  154. <summary>
  155. Exception 처리된 새로운 Action copy
  156. <para>Go 와 사용하는 경우에는 필요없으나 Parallel 과 사용할 경우 필요</para>
  157. </summary>
  158. </member>
  159. <member name="M:GSG.NET.Concurrent.Task4.callEx(System.Action)">
  160. <summary>실제 호출</summary>
  161. </member>
  162. <member name="M:GSG.NET.Concurrent.Task4.call(System.Action)">
  163. <summary>실제 호출</summary>
  164. </member>
  165. <member name="M:GSG.NET.Concurrent.Task4.Go(System.Action)">
  166. <summary>
  167. <para>Task 시작</para>
  168. <para>-</para>
  169. <para>Exception 처리</para>
  170. <para>exception 자체 logging</para>
  171. <para>-</para>
  172. <para>1. Wait 미사용</para>
  173. <para>미 처리시에도 crash 발생하지 않음</para>
  174. <para>-</para>
  175. <para>2. Wait 사용</para>
  176. <para>Method 내부에서 처리하지 않을 경우 Wait 에서는 반드시 에러처리 해야함</para>
  177. <para>-</para>
  178. <para>3. WaitEx 사용</para>
  179. <para>에러에 대한 자체 logging 지원, 별도 처리필요 없음</para>
  180. </summary>
  181. </member>
  182. <member name="M:GSG.NET.Concurrent.Task4.Go``1(System.Action{``0},``0)">
  183. <summary>
  184. <para>Task 시작</para>
  185. <para>Go 참조</para>
  186. </summary>
  187. </member>
  188. <member name="M:GSG.NET.Concurrent.Task4.Go``2(System.Action{``0,``1},``0,``1)">
  189. <summary>
  190. <para>Task 시작</para>
  191. <para>Go 참조</para>
  192. </summary>
  193. </member>
  194. <member name="M:GSG.NET.Concurrent.Task4.Go``3(System.Action{``0,``1,``2},``0,``1,``2)">
  195. <summary>
  196. <para>Task 시작</para>
  197. <para>Go 참조</para>
  198. </summary>
  199. </member>
  200. <member name="M:GSG.NET.Concurrent.Task4.WaitClone(System.Int32,System.Action)">
  201. <summary>
  202. Parallel
  203. <para>action 을 poolsize 만큼 복제 및 수행</para>
  204. <para>-</para>
  205. <para>Error 처리 필요없음</para>
  206. </summary>
  207. </member>
  208. <member name="M:GSG.NET.Concurrent.Task4.Clone(System.Int32,System.Action)">
  209. <summary>
  210. WaitClone 기능 동일, no wait
  211. <para>action 을 poolsize 만큼 복제 및 수행</para>
  212. <para>-</para>
  213. <para>Error 처리 필요없음</para>
  214. </summary>
  215. </member>
  216. <member name="M:GSG.NET.Concurrent.Task4.WaitAll(System.Action[])">
  217. <summary>
  218. Actions 수만큼 task 수행, 모두 완료될때 까지 method blocking
  219. <para>Error 처리 필요없음</para>
  220. </summary>
  221. </member>
  222. <member name="M:GSG.NET.Concurrent.Task4.WaitAll``1(System.Action{``0},``0[])">
  223. <summary>
  224. Arguments 수만큼 task 수행, 모두 완료될때 까지 method blocking
  225. <para>Error 처리 필요없음</para>
  226. </summary>
  227. </member>
  228. <member name="M:GSG.NET.Concurrent.Task4.WaitAll(System.Single,GSG.NET.Concurrent.TaskCancel,System.Action[])">
  229. <summary>
  230. Actions 수만큼 task 수행, 모두 완료될때 까지 method blocking
  231. <para>무한 timeout(-1)</para>
  232. <para>-</para>
  233. <para>timeout: false, 완료: true</para>
  234. <para>-</para>
  235. <para>Error 처리 필요없음</para>
  236. </summary>
  237. </member>
  238. <member name="M:GSG.NET.Concurrent.Task4.WaitAll``1(System.Single,GSG.NET.Concurrent.TaskCancel,System.Action{``0},``0[])">
  239. <summary>
  240. Action arguments 수만큼 task 수행, 모두 완료될때 까지 method blocking
  241. <para>무한 timeout(-1)</para>
  242. <para>-</para>
  243. <para>timeout: false, 완료: true</para>
  244. <para>-</para>
  245. <para>Error 처리 필요없음</para>
  246. </summary>
  247. </member>
  248. <member name="M:GSG.NET.Concurrent.Task4.WaitAny(System.Single,System.Action[])">
  249. <summary>
  250. Actions 수만큼 task 수행, 가장 빨리 끝나는 task 있을때까지 blocking
  251. <para>가장 빨리 끝난 method 의 index return, timeout 경우 -1</para>
  252. <para>무한 timeout(-1)</para>
  253. <para>-</para>
  254. <para>Error 처리 필요없음</para>
  255. </summary>
  256. </member>
  257. <member name="M:GSG.NET.Concurrent.Task4.WaitAny(System.Single,GSG.NET.Concurrent.TaskCancel,System.Action[])">
  258. <summary>
  259. Actions 수만큼 task 수행, 가장 빨리 끝나는 task 있을때까지 blocking
  260. <para>가장 빨리 끝난 method 의 index return, timeout 경우 -1</para>
  261. <para>무한 timeout(-1)</para>
  262. <para>-</para>
  263. <para>Error 처리 필요없음</para>
  264. <para>-</para>
  265. <para>TaskCancel.CancelWait 와 병행사용</para>
  266. <para>FastTask or timeout 이 발생하면 사용 필요</para>
  267. </summary>
  268. </member>
  269. <member name="M:GSG.NET.Concurrent.Task4.WaitAny``1(System.Single,System.Action{``0},``0[])">
  270. <summary>
  271. Action arguments 수만큼 task 수행, 가장 빨리 끝나는 task 있을때까지 method blocking
  272. <para>가장 빨리 끝난 arg 값을 return</para>
  273. <para>무한 timeout(-1)</para>
  274. <para>timeout 발생한 경우 default value 반환</para>
  275. <para>-</para>
  276. <para>Error 처리 필요없음</para>
  277. </summary>
  278. </member>
  279. <member name="M:GSG.NET.Concurrent.Task4.WaitAny``1(System.Single,GSG.NET.Concurrent.TaskCancel,System.Action{``0},``0[])">
  280. <summary>
  281. Action arguments 수만큼 task 수행, 가장 빨리 끝나는 task 있을때까지 method blocking
  282. <para>가장 빨리 끝난 arg 값을 return</para>
  283. <para>무한 timeout(-1)</para>
  284. <para>timeout 발생한 경우 default value 반환</para>
  285. <para>-</para>
  286. <para>Error 처리 필요없음</para>
  287. <para>-</para>
  288. <para>TaskCancel.CancelWait 와 병행사용</para>
  289. <para>FastTask or timeout 이 발생하면 사용 필요</para>
  290. </summary>
  291. </member>
  292. <member name="T:GSG.NET.Concurrent.TaskCancel">
  293. <summary>
  294. Task4's WaitAll, WaitAny 사용
  295. <para>Timeout 또는 잔여 Task 정리 작업</para>
  296. <para>-</para>
  297. <para>Task loop CancelReqd 코드 반영으로 Task 종료 체크</para>
  298. </summary>
  299. </member>
  300. <member name="M:GSG.NET.Concurrent.TaskCancel.Add(System.Threading.Tasks.Task)">
  301. <summary>Task 직접 add 하여 cancel 관리시 사용</summary>
  302. </member>
  303. <member name="M:GSG.NET.Concurrent.TaskCancel.Callback(System.Action)">
  304. <summary>Cancel method 호출시 callback 되는 Action 정의</summary>
  305. </member>
  306. <member name="P:GSG.NET.Concurrent.TaskCancel.Canceled">
  307. <summary>
  308. Task 종료 체크
  309. <para>Cancel requested</para>
  310. </summary>
  311. </member>
  312. <member name="M:GSG.NET.Concurrent.TaskCancel.WaitAll">
  313. <summary>
  314. Add 된 Tasks 종료 대기 + 객체 재사용 가능
  315. <para>모두 종료시 새로운 객체로 변경됨: 기존 객체 재사용 가능</para>
  316. </summary>
  317. </member>
  318. <member name="M:GSG.NET.Concurrent.TaskCancel.Cancel">
  319. <summary>Cancel trigger</summary>
  320. </member>
  321. <member name="T:GSG.NET.Concurrent.Thread4">
  322. <summary>
  323. .net4 convert version for ThreadUtils
  324. <para>Thread.Name은 1회만 세팅 가능</para>
  325. </summary>
  326. </member>
  327. <member name="M:GSG.NET.Concurrent.Thread4.Go(System.Action,System.Boolean)">
  328. <summary>Start</summary>
  329. </member>
  330. <member name="M:GSG.NET.Concurrent.Thread4.GoEx(System.Action,System.Boolean)">
  331. <summary>
  332. Start (내부 에러처리 포함)
  333. <para>Exception 처리 불필요</para>
  334. </summary>
  335. </member>
  336. <member name="M:GSG.NET.Concurrent.Thread4.Pooled(System.Threading.Thread)">
  337. <summary>source's thread pooled or not</summary>
  338. </member>
  339. <member name="M:GSG.NET.Concurrent.Thread4.Stop(System.Threading.Thread)">
  340. <summary>
  341. Interrupt
  342. <para>Wait,Sleep,Join 상태만 유효함</para>
  343. </summary>
  344. </member>
  345. <member name="T:GSG.NET.Concurrent.Threadable">
  346. <summary>
  347. <para>상속해서 사용하는 Thread Class</para>
  348. <para>1. Native Thread ID</para>
  349. </summary>
  350. </member>
  351. <member name="M:GSG.NET.Concurrent.Threadable.Run(System.Object)">
  352. <summary/>
  353. </member>
  354. <member name="M:GSG.NET.Concurrent.Threadable.#ctor">
  355. <summary/>
  356. </member>
  357. <member name="P:GSG.NET.Concurrent.Threadable.IsAlive">
  358. <summary>
  359. Thread alive or not
  360. </summary>
  361. </member>
  362. <member name="P:GSG.NET.Concurrent.Threadable.ThreadID">
  363. <summary>
  364. Native Thread ID
  365. </summary>
  366. </member>
  367. <member name="M:GSG.NET.Concurrent.Threadable.Start">
  368. <summary>
  369. Background thread로 시작한다.
  370. </summary>
  371. </member>
  372. <member name="M:GSG.NET.Concurrent.Threadable.Stop">
  373. <summary/>
  374. </member>
  375. <member name="M:GSG.NET.Concurrent.Threadable.Wait">
  376. <summary>
  377. <para>무한 대기, Awake를 하면 바로 실행된다.</para>
  378. </summary>
  379. </member>
  380. <member name="M:GSG.NET.Concurrent.Threadable.Wait(System.Int32)">
  381. <summary>
  382. <para>milli-second만큼 대기, Awake를 하면 바로 실행된다.</para>
  383. </summary>
  384. </member>
  385. <member name="M:GSG.NET.Concurrent.Threadable.Awake">
  386. <summary>
  387. Wait object을 깨워서 다음 동작 수행하게 함.
  388. </summary>
  389. </member>
  390. <member name="M:GSG.NET.Concurrent.Threadable.ElapsedTime(System.Int64)">
  391. <summary/>
  392. </member>
  393. <member name="P:GSG.NET.Concurrent.ThreadCancel.Canceled">
  394. <summary>
  395. Thread 종료 여부 체크
  396. <para>Cancel requested</para>
  397. </summary>
  398. </member>
  399. <member name="M:GSG.NET.Concurrent.ThreadCancel.Callback(System.Action)">
  400. <summary>Cancel method 호출시 callback 되는 Action 정의</summary>
  401. </member>
  402. <member name="M:GSG.NET.Concurrent.ThreadCancel.AddGo(System.Action)">
  403. <summary>Thread 생성 후 등록</summary>
  404. </member>
  405. <member name="M:GSG.NET.Concurrent.ThreadCancel.AddGoEx(System.Action)">
  406. <summary>Thread 생성 후 등록</summary>
  407. </member>
  408. <member name="M:GSG.NET.Concurrent.ThreadCancel.Cancel">
  409. <summary>
  410. Cancel trigger
  411. <para>Canceled flag 변경</para>
  412. </summary>
  413. </member>
  414. <member name="M:GSG.NET.Concurrent.ThreadCancel.StopWaitAll">
  415. <summary>
  416. <para>모든 thread stop(interrupt)</para>
  417. <para>Wait all thread end</para>
  418. <para>-</para>
  419. <para>새로운 CancellationTokenSource 등록!!</para>
  420. </summary>
  421. </member>
  422. <member name="T:GSG.NET.Concurrent.ThreadUtils">
  423. <summary>
  424. <para>Method 기반의 Thread 사용 class.</para>
  425. <para>-</para>
  426. <para>ThreadPool을 이용한 Thread 생성 및 PoolSize 지정</para>
  427. <para>InitPoolSize</para>
  428. <para>InvokePool</para>
  429. <para>-</para>
  430. <para>일반 backgroud Thread 실행</para>
  431. <para>Invoke</para>
  432. <para>-</para>
  433. </summary>
  434. </member>
  435. <member name="P:GSG.NET.Concurrent.ThreadUtils.ThBgMode">
  436. <summary/>
  437. </member>
  438. <member name="M:GSG.NET.Concurrent.ThreadUtils.GetCurrThreadID">
  439. <summary>
  440. <para>Win32 Thread 가져오기.</para>
  441. </summary>
  442. </member>
  443. <member name="M:GSG.NET.Concurrent.ThreadUtils.InitPoolSize(System.Int32)">
  444. <summary>
  445. <para>ThreadPool의 초기 사이즈를 잡는다.</para>
  446. <para>-</para>
  447. <para>사용중에 Thread는 InitSize 밑으로 내려갈 수 있지만</para>
  448. <para>생성이 다시 필요할 경우 InitSize만큼은 빠른 속도로 수행된다.</para>
  449. <para>-</para>
  450. <para>초기 생성가 아니며 최소 유지 시키는 사이즈</para>
  451. <para>-</para>
  452. </summary>
  453. <param name="min">Pool Size</param>
  454. </member>
  455. <member name="M:GSG.NET.Concurrent.ThreadUtils.InitPoolSize(System.Int32,System.Int32)">
  456. <summary>
  457. min은 항상 유지, max는 임계치
  458. <para>max에 도달후 wait되어 기존 thread가 종료되면 다시 pool에서 수행한다.</para>
  459. </summary>
  460. </member>
  461. <member name="M:GSG.NET.Concurrent.ThreadUtils.InvokePoolEx(System.Action)">
  462. <summary>
  463. Logging exception without throw
  464. </summary>
  465. </member>
  466. <member name="M:GSG.NET.Concurrent.ThreadUtils.InvokePoolEx``1(System.Action{``0},``0)">
  467. <summary>
  468. Logging exception without throw
  469. </summary>
  470. </member>
  471. <member name="M:GSG.NET.Concurrent.ThreadUtils.InvokePoolEx``2(System.Action{``0,``1},``0,``1)">
  472. <summary>
  473. Logging exception without throw
  474. </summary>
  475. </member>
  476. <member name="M:GSG.NET.Concurrent.ThreadUtils.InvokePoolEx``3(System.Action{``0,``1,``2},``0,``1,``2)">
  477. <summary>
  478. Logging exception without throw
  479. </summary>
  480. </member>
  481. <member name="M:GSG.NET.Concurrent.ThreadUtils.InvokePoolEx``4(System.Action{``0,``1,``2,``3},``0,``1,``2,``3)">
  482. <summary>
  483. Logging exception without throw
  484. </summary>
  485. </member>
  486. <member name="M:GSG.NET.Concurrent.ThreadUtils.InvokePool(System.Action)">
  487. <summary>
  488. <para>ThreadPool을 이용한 Invoke</para>
  489. <para>호출 method는 Poolxxxx 형태의 method naming을 권장함.</para>
  490. <para>void argument 0 method</para>
  491. </summary>
  492. </member>
  493. <member name="M:GSG.NET.Concurrent.ThreadUtils.InvokePool``1(System.Action{``0},``0)">
  494. <summary>
  495. <para>ThreadPool을 이용한 Invoke</para>
  496. <para>호출 method는 Poolxxxx 형태의 method naming을 권장함.</para>
  497. <para>void argument 1 method</para>
  498. </summary>
  499. </member>
  500. <member name="M:GSG.NET.Concurrent.ThreadUtils.InvokePool``2(System.Action{``0,``1},``0,``1)">
  501. <summary>
  502. <para>ThreadPool을 이용한 Invoke</para>
  503. <para>호출 method는 Poolxxxx 형태의 method naming을 권장함.</para>
  504. <para>void argument 2 method</para>
  505. </summary>
  506. </member>
  507. <member name="M:GSG.NET.Concurrent.ThreadUtils.InvokePool``3(System.Action{``0,``1,``2},``0,``1,``2)">
  508. <summary>
  509. <para>ThreadPool을 이용한 Invoke</para>
  510. <para>호출 method는 Poolxxxx 형태의 method naming을 권장함.</para>
  511. <para>void argument 3 method</para>
  512. </summary>
  513. </member>
  514. <member name="M:GSG.NET.Concurrent.ThreadUtils.InvokePool``4(System.Action{``0,``1,``2,``3},``0,``1,``2,``3)">
  515. <summary>
  516. <para>ThreadPool을 이용한 Invoke</para>
  517. <para>호출 method는 Poolxxxx 형태의 method naming을 권장함.</para>
  518. <para>void argument 4 method</para>
  519. </summary>
  520. </member>
  521. <member name="M:GSG.NET.Concurrent.ThreadUtils.InvokeEx(System.Action)">
  522. <summary/>
  523. </member>
  524. <member name="M:GSG.NET.Concurrent.ThreadUtils.InvokeEx``1(System.Action{``0},``0)">
  525. <summary>
  526. Logging exception without throw
  527. </summary>
  528. </member>
  529. <member name="M:GSG.NET.Concurrent.ThreadUtils.InvokeEx``2(System.Action{``0,``1},``0,``1)">
  530. <summary>
  531. Logging exception without throw
  532. </summary>
  533. </member>
  534. <member name="M:GSG.NET.Concurrent.ThreadUtils.InvokeEx``3(System.Action{``0,``1,``2},``0,``1,``2)">
  535. <summary>
  536. Logging exception without throw
  537. </summary>
  538. </member>
  539. <member name="M:GSG.NET.Concurrent.ThreadUtils.InvokeEx``4(System.Action{``0,``1,``2,``3},``0,``1,``2,``3)">
  540. <summary>
  541. Logging exception without throw
  542. </summary>
  543. </member>
  544. <member name="M:GSG.NET.Concurrent.ThreadUtils.Invoke(System.Action)">
  545. <summary>
  546. <para>Backgroud thread를 생성하여 invoke</para>
  547. <para>void argument 0</para>
  548. </summary>
  549. </member>
  550. <member name="M:GSG.NET.Concurrent.ThreadUtils.Invoke``1(System.Action{``0},``0)">
  551. <summary>
  552. <para>Backgroud thread를 생성하여 invoke</para>
  553. <para>void argument 1</para>
  554. </summary>
  555. </member>
  556. <member name="M:GSG.NET.Concurrent.ThreadUtils.Invoke``2(System.Action{``0,``1},``0,``1)">
  557. <summary>
  558. <para>Backgroud thread를 생성하여 invoke</para>
  559. <para>void argument 2</para>
  560. </summary>
  561. </member>
  562. <member name="M:GSG.NET.Concurrent.ThreadUtils.Invoke``3(System.Action{``0,``1,``2},``0,``1,``2)">
  563. <summary>
  564. <para>Backgroud thread를 생성하여 invoke</para>
  565. <para>void argument 3</para>
  566. </summary>
  567. </member>
  568. <member name="M:GSG.NET.Concurrent.ThreadUtils.Invoke``4(System.Action{``0,``1,``2,``3},``0,``1,``2,``3)">
  569. <summary>
  570. <para>Backgroud thread를 생성하여 invoke</para>
  571. <para>void argument 4</para>
  572. </summary>
  573. </member>
  574. <member name="M:GSG.NET.Concurrent.ThreadUtils.Kill(System.Threading.Thread)">
  575. <summary>
  576. <para>Thread 강제 kill</para>
  577. <para></para>
  578. <para>한번 종료한 Thread는 다시 사용할 수 없다. new 를 이용하여 생성해야 함.</para>
  579. <para>Socket read 동작은 중단되지 않는다.</para>
  580. <para>Socket 연결 중 동작은 중단된다.</para>
  581. <para>Socket 중단 처리를 위해서는 Kill후 Socket을 중단하는 방법 권장.ThreadAbortException 처리 가능.</para>
  582. </summary>
  583. </member>
  584. <member name="M:GSG.NET.Concurrent.ThreadUtils.Stop(System.Threading.Thread)">
  585. <summary>
  586. <para>1. Interrupt</para>
  587. <para>2. Join 100ms</para>
  588. <para>-</para>
  589. <para>Queue를 사용할 경우 ThreadInterruptedException시 break 구문을 수행하여야 한다.</para>
  590. </summary>
  591. <returns>stopped or not</returns>
  592. </member>
  593. <member name="M:GSG.NET.Concurrent.ThreadUtils.Interrupt(System.Threading.Thread)">
  594. <summary>
  595. 단순 Interrupt, th thread wait state -> interrupt,
  596. 종료 위해서는 break구문 처리 필요.
  597. </summary>
  598. </member>
  599. <member name="M:GSG.NET.Concurrent.ThreadUtils.IsAlive(System.Threading.Thread)">
  600. <summary>
  601. Thread alive or not
  602. </summary>
  603. </member>
  604. <member name="M:GSG.NET.Concurrent.ThreadUtils.StartSTATask(System.Action)">
  605. <summary>
  606. Main Thread 생성
  607. Chart 와 같은 많은 Data 를 표현 하는 Form 에서 사용
  608. </summary>
  609. <param name="action"></param>
  610. <returns></returns>
  611. </member>
  612. <member name="T:GSG.NET.Concurrent.TsMap`2">
  613. <summary>
  614. Thread-safe Dictionary
  615. <para>key-value pairs 데이터 thread-safe</para>
  616. <para>capacity: 32</para>
  617. <para>concurrency: cpu core *2</para>
  618. <para>max lock count: 1024</para>
  619. <para>-</para>
  620. <para>setter를 사용할 경우 AddOrUpdate가 수행됨</para>
  621. <para>아래의 코드로 바로 Add 가능함</para>
  622. <para>dd[key] = value;</para>
  623. </summary>
  624. </member>
  625. <member name="M:GSG.NET.Concurrent.TsMap`2.Add(`0,`1)">
  626. <summary>
  627. key 존재시 ArgumentException
  628. </summary>
  629. </member>
  630. <member name="M:GSG.NET.Concurrent.TsMap`2.AddOrUpdate(`0,`1)">
  631. <summary>
  632. 최신 Add값 반영
  633. </summary>
  634. </member>
  635. <member name="M:GSG.NET.Concurrent.TsMap`2.AddOrKeep(`0,`1)">
  636. <summary>
  637. 최초 Add값 유지
  638. </summary>
  639. </member>
  640. <member name="M:GSG.NET.Concurrent.TsMap`2.ContainsKey(`0)">
  641. <summary/>
  642. </member>
  643. <member name="M:GSG.NET.Concurrent.TsMap`2.Clear">
  644. <summary/>
  645. </member>
  646. <member name="P:GSG.NET.Concurrent.TsMap`2.Item(`0)">
  647. <summary>
  648. setter를 사용할 경우 AddOrUpdate가 수행됨
  649. <para>아래의 코드로 바로 Add 가능함</para>
  650. <para>dd[key] = value;</para>
  651. </summary>
  652. </member>
  653. <member name="M:GSG.NET.Concurrent.TsMap`2.Remove(`0)">
  654. <summary/>
  655. </member>
  656. <member name="M:GSG.NET.Concurrent.TsMap`2.GetEnumerator">
  657. <summary/>
  658. </member>
  659. <member name="P:GSG.NET.Concurrent.TsMap`2.Count">
  660. <summary/>
  661. </member>
  662. <member name="T:GSG.NET.Concurrent.TsQueue`1">
  663. <summary>
  664. Thread safe Queue
  665. </summary>
  666. </member>
  667. <member name="M:GSG.NET.Concurrent.TsQueue`1.#ctor">
  668. <summary>
  669. <para>init size 1024</para>
  670. </summary>
  671. </member>
  672. <member name="M:GSG.NET.Concurrent.TsQueue`1.#ctor(System.Int32)">
  673. <summary>
  674. <para>init size를 정할 수 있다.</para>
  675. </summary>
  676. </member>
  677. <member name="M:GSG.NET.Concurrent.TsQueue`1.Enqueue(`0)">
  678. <summary/>
  679. </member>
  680. <member name="M:GSG.NET.Concurrent.TsQueue`1.Dequeue">
  681. <summary>
  682. <para>ThreadUtils.Interrupt으로 종료 가능함.</para>
  683. <para>종료가 안될 경우 ThreadUtils.Stop으로 해도 되나 Interrupt 권장함.</para>
  684. </summary>
  685. </member>
  686. <member name="M:GSG.NET.Concurrent.TsQueue`1.Dequeue(System.Single)">
  687. <summary>
  688. dequeue with second
  689. </summary>
  690. </member>
  691. <member name="M:GSG.NET.Concurrent.TsQueue`1.Dequeue(System.Int32)">
  692. <summary>
  693. dequeue sometime wait
  694. <para>timeout: default(T)</para>
  695. </summary>
  696. </member>
  697. <member name="M:GSG.NET.Concurrent.TsQueue`1.Pull">
  698. <summary>
  699. 안전한 데이터 추출
  700. </summary>
  701. </member>
  702. <member name="M:GSG.NET.Concurrent.TsQueue`1.Clear">
  703. <summary/>
  704. </member>
  705. <member name="P:GSG.NET.Concurrent.TsQueue`1.Size">
  706. <summary/>
  707. </member>
  708. <member name="M:GSG.NET.Concurrent.TsQueue`1.GetEnumerator">
  709. <summary/>
  710. </member>
  711. <member name="T:GSG.NET.Extensions.EnumExtensions">
  712. <summary>
  713. Enum Extensions 추가
  714. </summary>
  715. </member>
  716. <member name="M:GSG.NET.Extensions.EnumExtensions.GetValues``1">
  717. <summary>
  718. Enumerates all enum values
  719. </summary>
  720. <typeparam name="T">Enum type</typeparam>
  721. <returns>IEnumerable containing all enum values</returns>
  722. </member>
  723. <member name="M:GSG.NET.Extensions.CastTo`1.From``1(``0)">
  724. <summary>
  725. This does not cause boxing for value types.
  726. Useful in generic methods.
  727. </summary>
  728. <typeparam name="S">Source type to cast from. Usually a generic type.</typeparam>
  729. </member>
  730. <member name="T:GSG.NET.FileSystem.FileUtils">
  731. <summary>
  732. <para>File, Path Utils</para>
  733. <para>-</para>
  734. <para>2012.08 닷넷 Path관련 함수 설명 필요해서 내장 시킴</para>
  735. <para>-</para>
  736. </summary>
  737. </member>
  738. <member name="M:GSG.NET.FileSystem.FileUtils.GetFiles(System.String,System.String,System.Boolean)">
  739. <summary>
  740. <para>Directory.GetFiles는 folder가 없을 경우에 에러가 발생하므로 이를 보정함.</para>
  741. <para>endwith 체크는 array를 다시 한번 체크해야 함, 현재 arrary는 contains임</para>
  742. </summary>
  743. </member>
  744. <member name="M:GSG.NET.FileSystem.FileUtils.GetFileInfos(System.String,System.String,System.Boolean)">
  745. <summary>
  746. FileInfos
  747. <para>endwith 체크는 array를 다시 한번 체크해야 함, 현재 arrary는 contains임</para>
  748. </summary>
  749. </member>
  750. <member name="M:GSG.NET.FileSystem.FileUtils.DeleteFileIfExist(System.String)">
  751. <summary>
  752. <para>File.Delete는 directory가 없을 경우에 에러가 발생하므로 이를 보정함.</para>
  753. </summary>
  754. </member>
  755. <member name="M:GSG.NET.FileSystem.FileUtils.ChgExtension(System.String,System.String)">
  756. <summary>
  757. <para>실제 파일의 확장자를 바꾸지 않고 return 되는 경로 확장자만 바꾸어 진다.</para>
  758. <para>-</para>
  759. </summary>
  760. </member>
  761. <member name="M:GSG.NET.FileSystem.FileUtils.GetFolderName(System.String)">
  762. <summary>
  763. <para>path의 폴더 경로를 가져오며 마지막에 PathSeparator \가 없다.</para>
  764. <para>e.g.</para>
  765. <para>C:\\Users\\Administrator\\AppData\\Local\\Temp</para>
  766. </summary>
  767. </member>
  768. <member name="M:GSG.NET.FileSystem.FileUtils.GetFolders(System.String,System.Boolean)">
  769. <summary>
  770. <para>Folder가 없을 경우에 에러가 발생하므로 이를 보정함.</para>
  771. </summary>
  772. </member>
  773. <member name="M:GSG.NET.FileSystem.FileUtils.CreateFolder(System.String,System.Boolean)">
  774. <summary>
  775. <para>Folder생성.</para>
  776. <para>File or Folder를 지원한다.</para>
  777. <para>-</para>
  778. <para>File을 이용해 폴더 만들때 file = true</para>
  779. </summary>
  780. </member>
  781. <member name="M:GSG.NET.FileSystem.FileUtils.GetExtension(System.String)">
  782. <summary>
  783. <para>확장자 만을 가져옴 .이 포함된다.</para>
  784. <para>e.g.</para>
  785. <para>(.zip)</para>
  786. </summary>
  787. </member>
  788. <member name="M:GSG.NET.FileSystem.FileUtils.GetFileName(System.String)">
  789. <summary>
  790. <para>파일 이름(확장자 포함)만 추출하고 싶을 경우</para>
  791. </summary>
  792. </member>
  793. <member name="M:GSG.NET.FileSystem.FileUtils.GetFileNameWithoutExtension(System.String)">
  794. <summary>
  795. <para>파일 이름(확장자 없음)만 추출하고 싶을 경우</para>
  796. </summary>
  797. </member>
  798. <member name="M:GSG.NET.FileSystem.FileUtils.GetFullPath(System.String)">
  799. <summary>
  800. <para>전체 경로 추출</para>
  801. </summary>
  802. </member>
  803. <member name="M:GSG.NET.FileSystem.FileUtils.GetPathRoot(System.String)">
  804. <summary>
  805. <para>루트 경로 추출</para>
  806. <para>e.g.</para>
  807. <para>C:\\ or D:\\</para>
  808. </summary>
  809. </member>
  810. <member name="M:GSG.NET.FileSystem.FileUtils.GetRandomFileName">
  811. <summary>
  812. <para>Random파일을 생성하여 FileName만 추출한다.</para>
  813. <para>실제 파일은 만들어 지지 않는다.</para>
  814. <para>전체 경로를 추출하려면 GetFullPath 활용</para>
  815. </summary>
  816. </member>
  817. <member name="M:GSG.NET.FileSystem.FileUtils.GetTempFileName">
  818. <summary>
  819. <para>Temp파일의 전체 경로를 추출한다.</para>
  820. <para>실제 0바이트의 temp 파일이 생성된다.</para>
  821. <para>e.g.</para>
  822. <para>C:\\Users\\Administrator\\AppData\\Local\\Temp\\tmpEC58.tmp</para>
  823. </summary>
  824. </member>
  825. <member name="M:GSG.NET.FileSystem.FileUtils.IsFolder(System.String)">
  826. <summary>
  827. <para>Folder or not</para>
  828. </summary>
  829. </member>
  830. <member name="M:GSG.NET.FileSystem.FileUtils.IsFileLocked(System.IO.FileInfo)">
  831. <summary>
  832. <para>File이 다른 process가 열고 있는지 체크하는 함수</para>
  833. </summary>
  834. </member>
  835. <member name="M:GSG.NET.FileSystem.FileUtils.OpenRead(System.String,System.Int32)">
  836. <summary>
  837. <para>다른 Process가 파일을 수정여부와 상관없이 파일을 열수있다.</para>
  838. </summary>
  839. </member>
  840. <member name="T:GSG.NET.FileSystem.FileWatcher">
  841. <summary>
  842. FileWatcher
  843. </summary>
  844. </member>
  845. <member name="E:GSG.NET.FileSystem.FileWatcher.OnFileChanged">
  846. <summary>
  847. <para>arg: FileSystemEventArgs</para>
  848. <para>File 변경시 이벤트 발생.</para>
  849. </summary>
  850. </member>
  851. <member name="M:GSG.NET.FileSystem.FileWatcher.#ctor">
  852. <summary/>
  853. </member>
  854. <member name="P:GSG.NET.FileSystem.FileWatcher.Path">
  855. <summary>
  856. Fullpath or 상대경로
  857. </summary>
  858. </member>
  859. <member name="P:GSG.NET.FileSystem.FileWatcher.Filter">
  860. <summary>
  861. <para>default: *.*</para>
  862. <para>example: *.csv</para>
  863. </summary>
  864. </member>
  865. <member name="M:GSG.NET.FileSystem.FileWatcher.Watch">
  866. <summary>
  867. Watch start
  868. </summary>
  869. </member>
  870. <member name="T:GSG.NET.IO.ConsoleOutputter">
  871. <summary>
  872. console data를 richtext box로 redirect하는 class
  873. </summary>
  874. </member>
  875. <member name="M:GSG.NET.IO.ConsoleOutputter.ChangeFontColor(System.Drawing.Color)">
  876. <summary>
  877. <para>ChangeFontColor를 호출한 다음부터 logger의 Font Color가 변경된다.</para>
  878. <para>화면 Thread에서 호출해야 함.</para>
  879. </summary>
  880. <param name="color"></param>
  881. </member>
  882. <member name="M:GSG.NET.IO.ConsoleOutputter.Output">
  883. <summary>
  884. <para>redirect 시작.</para>
  885. </summary>
  886. </member>
  887. <member name="P:GSG.NET.IO.ConsoleOutputter.LinesWaterMark">
  888. <summary>
  889. <para>richtext clear할 라인수</para>
  890. </summary>
  891. </member>
  892. <member name="P:GSG.NET.IO.ConsoleOutputter.TextBox">
  893. <summary>
  894. <para>console data redirect 되는 richtext</para>
  895. </summary>
  896. </member>
  897. <member name="T:GSG.NET.IO.MbCommUtils">
  898. <summary>
  899. Modbus Serial Comm Utils
  900. </summary>
  901. </member>
  902. <member name="M:GSG.NET.IO.MbCommUtils.ReadReqCrcRTU(System.Int32,System.Byte,System.Int32,System.Int32)">
  903. <summary/>
  904. </member>
  905. <member name="M:GSG.NET.IO.MbCommUtils.WriteSingleWordCrcRTU(System.Int32,System.Byte,System.Int32,System.Int32)">
  906. <summary/>
  907. </member>
  908. <member name="M:GSG.NET.IO.MbCommUtils.WriteWordCrcRTU(System.Int32,System.Byte,System.Int32,System.Byte[])">
  909. <summary/>
  910. </member>
  911. <member name="M:GSG.NET.IO.MbCommUtils.ReadRspCrcRTU(GSG.NET.IO.SerialComm)">
  912. <summary/>
  913. </member>
  914. <member name="M:GSG.NET.IO.MbCommUtils.CrcCheck(GSG.NET.Utils.MemoryBuffer)">
  915. <summary/>
  916. </member>
  917. <member name="T:GSG.NET.IO.SerialComm">
  918. <summary>
  919. <para>SerialComm</para>
  920. <para>ThreadUtils.Interrupt를 사용하면 안됨. 프로그램 죽음</para>
  921. <para>Close와 IOException을 처리해야 함.</para>
  922. </summary>
  923. </member>
  924. <member name="P:GSG.NET.IO.SerialComm.RetryCount">
  925. <summary/>
  926. </member>
  927. <member name="P:GSG.NET.IO.SerialComm.H">
  928. <summary/>
  929. </member>
  930. <member name="M:GSG.NET.IO.SerialComm.#ctor">
  931. <summary>
  932. <para>readtimeout=1000;</para>
  933. </summary>
  934. </member>
  935. <member name="P:GSG.NET.IO.SerialComm.IsOpen">
  936. <summary>
  937. SerialPort is open or not
  938. </summary>
  939. </member>
  940. <member name="P:GSG.NET.IO.SerialComm.ReadTimeout">
  941. <summary>
  942. <para>Blocking ReadTimeout milli-second</para>
  943. <para>-</para>
  944. <para>1000ms (Default)</para>
  945. <para>Infinite: -1</para>
  946. <para>0: Exception</para>
  947. </summary>
  948. </member>
  949. <member name="P:GSG.NET.IO.SerialComm.NewLine">
  950. <summary>
  951. <para>ReadLine, WriteLine함수를 이용할 경우 NewLine 구분자</para>
  952. <para>Default: Environment.NewLine</para>
  953. <para>"\r"; 0xD</para>
  954. <para>"\n"; 0xA(Default)</para>
  955. </summary>
  956. </member>
  957. <member name="P:GSG.NET.IO.SerialComm.PortName">
  958. <summary>
  959. COM1(Default), COM2, ...
  960. </summary>
  961. </member>
  962. <member name="P:GSG.NET.IO.SerialComm.DiscardNull">
  963. <summary>
  964. <para>Normally False</para>
  965. <para>null bytes are ignored</para>
  966. </summary>
  967. </member>
  968. <member name="P:GSG.NET.IO.SerialComm.BaudRate">
  969. <summary>
  970. <para>2400</para>
  971. <para>4800</para>
  972. <para>7200</para>
  973. <para>9600(Default)</para>
  974. <para>14400</para>
  975. <para>19200</para>
  976. <para>38400</para>
  977. <para>57600</para>
  978. <para>115200</para>
  979. </summary>
  980. </member>
  981. <member name="P:GSG.NET.IO.SerialComm.Parity">
  982. <summary>
  983. <para>Parity.None(Default)</para>
  984. <para>Parity.Odd</para>
  985. <para>Parity.Even</para>
  986. <para>Parity.Mark</para>
  987. <para>Parity.Space</para>
  988. </summary>
  989. </member>
  990. <member name="P:GSG.NET.IO.SerialComm.DataBits">
  991. <summary>
  992. <para>7</para>
  993. <para>8(Default)</para>
  994. </summary>
  995. </member>
  996. <member name="P:GSG.NET.IO.SerialComm.StopBits">
  997. <summary>
  998. <para>StopBits.None</para>
  999. <para>StopBits.One(Default)</para>
  1000. <para>StopBits.Two</para>
  1001. </summary>
  1002. </member>
  1003. <member name="P:GSG.NET.IO.SerialComm.Handshake">
  1004. <summary>
  1005. <para>Handshake.None(Default)</para>
  1006. <para>Handshake.XOnXOff</para>
  1007. <para>Handshake.RequestToSend</para>
  1008. <para>Handshake.RequestToSendXOnXOff</para>
  1009. </summary>
  1010. </member>
  1011. <member name="P:GSG.NET.IO.SerialComm.Encoding">
  1012. <summary>
  1013. <para>Encoding.UTF7</para>
  1014. <para>Encoding.BigEndianUnicode</para>
  1015. <para>Encoding.Unicode</para>
  1016. <para>Encoding.Default</para>
  1017. <para>Encoding.ASCII</para>
  1018. <para>Encoding.UTF8</para>
  1019. <para>Encoding.UTF32</para>
  1020. </summary>
  1021. </member>
  1022. <member name="M:GSG.NET.IO.SerialComm.Open">
  1023. <summary>
  1024. open serial port
  1025. </summary>
  1026. </member>
  1027. <member name="M:GSG.NET.IO.SerialComm.Close">
  1028. <summary>
  1029. close SerailPort
  1030. </summary>
  1031. </member>
  1032. <member name="M:GSG.NET.IO.SerialComm.QuietClose">
  1033. <summary>
  1034. Ignore close error
  1035. </summary>
  1036. </member>
  1037. <member name="P:GSG.NET.IO.SerialComm.IsReadDataExist">
  1038. <summary>
  1039. BytesToRead > 0
  1040. </summary>
  1041. </member>
  1042. <member name="M:GSG.NET.IO.SerialComm.Dispose">
  1043. <summary>
  1044. </summary>
  1045. </member>
  1046. <member name="M:GSG.NET.IO.SerialComm.Clean">
  1047. <summary>
  1048. DiscardInBuffer();
  1049. DiscardOutBuffer();
  1050. </summary>
  1051. </member>
  1052. <member name="M:GSG.NET.IO.SerialComm.CleanIn">
  1053. <summary>
  1054. Clean read buffer
  1055. </summary>
  1056. </member>
  1057. <member name="M:GSG.NET.IO.SerialComm.CleanOut">
  1058. <summary>
  1059. Clean write buffer
  1060. </summary>
  1061. </member>
  1062. <member name="M:GSG.NET.IO.SerialComm.WriteLeInt(System.Int32)">
  1063. <summary>
  1064. Write little endian int
  1065. </summary>
  1066. </member>
  1067. <member name="M:GSG.NET.IO.SerialComm.WriteLeShort(System.Int32)">
  1068. <summary>
  1069. <para>Write little endian short</para>
  1070. <para>-32768 ~ 32767</para>
  1071. </summary>
  1072. </member>
  1073. <member name="M:GSG.NET.IO.SerialComm.WriteBeInt(System.Int32)">
  1074. <summary>
  1075. Write big endian int
  1076. </summary>
  1077. </member>
  1078. <member name="M:GSG.NET.IO.SerialComm.WriteBeShort(System.Int32)">
  1079. <summary>
  1080. <para>Write big endian short</para>
  1081. <para>-32768 ~ 32767</para>
  1082. </summary>
  1083. </member>
  1084. <member name="M:GSG.NET.IO.SerialComm.ReadBeShort">
  1085. <summary>
  1086. Read big endian short
  1087. </summary>
  1088. </member>
  1089. <member name="M:GSG.NET.IO.SerialComm.ReadBeUshort">
  1090. <summary>
  1091. Read big endian ushort
  1092. </summary>
  1093. </member>
  1094. <member name="M:GSG.NET.IO.SerialComm.ReadBeInt">
  1095. <summary>
  1096. Read big endian int
  1097. </summary>
  1098. </member>
  1099. <member name="M:GSG.NET.IO.SerialComm.ReadLeShort">
  1100. <summary>
  1101. Read little endian short
  1102. </summary>
  1103. </member>
  1104. <member name="M:GSG.NET.IO.SerialComm.ReadLeInt">
  1105. <summary>
  1106. Read little endian int
  1107. </summary>
  1108. </member>
  1109. <member name="M:GSG.NET.IO.SerialComm.ReadAscii(System.Int32)">
  1110. <summary>
  1111. <para>Read string</para>
  1112. <para>Encoding.ASCII</para>
  1113. </summary>
  1114. </member>
  1115. <member name="M:GSG.NET.IO.SerialComm.ReadAscii(System.Int32,System.Text.Encoding)">
  1116. <summary>
  1117. <para>Read string</para>
  1118. </summary>
  1119. </member>
  1120. <member name="M:GSG.NET.IO.SerialComm.ReadBytes(System.Int32)">
  1121. <summary>
  1122. <para>blocing read</para>
  1123. </summary>
  1124. </member>
  1125. <member name="M:GSG.NET.IO.SerialComm.ReadUntil(System.Byte)">
  1126. <summary>
  1127. <para>NewLine, ETX까지 읽는 경우.</para>
  1128. <para>b는 포함되지 않음</para>
  1129. <para>in stream에서 b 까지 읽음</para>
  1130. </summary>
  1131. </member>
  1132. <member name="M:GSG.NET.IO.SerialComm.Write(System.String)">
  1133. <summary>
  1134. </summary>
  1135. </member>
  1136. <member name="M:GSG.NET.IO.SerialComm.Write(System.Int32)">
  1137. <summary>
  1138. <para>int -> byte로 변경해서 Write(byte[] bs)호출.</para>
  1139. <para>0~255 argument</para>
  1140. </summary>
  1141. </member>
  1142. <member name="M:GSG.NET.IO.SerialComm.Write(System.Byte[])">
  1143. <summary>
  1144. </summary>
  1145. </member>
  1146. <member name="M:GSG.NET.IO.SerialComm.WriteLine(System.String)">
  1147. <summary>
  1148. </summary>
  1149. </member>
  1150. <member name="M:GSG.NET.IO.SerialComm.ReadLine">
  1151. <summary>
  1152. </summary>
  1153. </member>
  1154. <member name="M:GSG.NET.IO.SerialComm.Read1Byte">
  1155. <summary>
  1156. <para>Block until read 1 byte</para>
  1157. </summary>
  1158. </member>
  1159. <member name="T:GSG.NET.IO.SpDetail">
  1160. <summary>
  1161. <para>SerialPort Detail Config</para>
  1162. </summary>
  1163. </member>
  1164. <member name="M:GSG.NET.IO.SpDetail.#ctor">
  1165. <summary/>
  1166. </member>
  1167. <member name="P:GSG.NET.IO.SpDetail.BaudRate">
  1168. <summary>
  1169. <para>2400</para>
  1170. <para>4800</para>
  1171. <para>7200</para>
  1172. <para>9600(Default)</para>
  1173. <para>14400</para>
  1174. <para>19200</para>
  1175. <para>38400</para>
  1176. <para>57600</para>
  1177. <para>115200</para>
  1178. </summary>
  1179. </member>
  1180. <member name="P:GSG.NET.IO.SpDetail.Parity">
  1181. <summary>
  1182. <para>Parity.None(Default)</para>
  1183. <para>Parity.Odd</para>
  1184. <para>Parity.Even</para>
  1185. <para>Parity.Mark</para>
  1186. <para>Parity.Space</para>
  1187. </summary>
  1188. </member>
  1189. <member name="P:GSG.NET.IO.SpDetail.StopBits">
  1190. <summary>
  1191. <para>StopBits.None</para>
  1192. <para>StopBits.One(Default)</para>
  1193. <para>StopBits.Two</para>
  1194. </summary>
  1195. </member>
  1196. <member name="P:GSG.NET.IO.SpDetail.DataBits">
  1197. <summary>
  1198. <para>7</para>
  1199. <para>8(Default)</para>
  1200. </summary>
  1201. </member>
  1202. <member name="P:GSG.NET.IO.SpDetail.Handshake">
  1203. <summary>
  1204. <para>None(Default)</para>
  1205. </summary>
  1206. </member>
  1207. <member name="T:GSG.NET.LINQ.FwCompress">
  1208. <summary>
  1209. Linq archive
  1210. </summary>
  1211. </member>
  1212. <member name="M:GSG.NET.LINQ.FwCompress.FwZip(System.Byte[],System.Int32)">
  1213. <summary>
  1214. byte array 압축
  1215. <para>객체 압축용</para>
  1216. </summary>
  1217. </member>
  1218. <member name="M:GSG.NET.LINQ.FwCompress.FwZip(System.String,System.Int32)">
  1219. <summary>
  1220. string 압축
  1221. <para>Unzip이 zip의 4배 성능 빠름</para>
  1222. <para>buffer size는 kb 단위로 입력하며 평균 압축 사이즈 기준 설정</para>
  1223. </summary>
  1224. </member>
  1225. <member name="M:GSG.NET.LINQ.FwCompress.FwUnzip(System.String)">
  1226. <summary>
  1227. string 압축 해제
  1228. <para>Unzip이 zip의 4배 성능 빠름</para>
  1229. <para>Zip string이 아닐 경우 string.Empty: No exception</para>
  1230. </summary>
  1231. </member>
  1232. <member name="M:GSG.NET.LINQ.FwCompress.FwUnzip(System.Byte[],System.Int32)">
  1233. <summary>
  1234. byte array 압축 해제
  1235. <para>객체 압축 해제용</para>
  1236. </summary>
  1237. </member>
  1238. <member name="M:GSG.NET.LINQ.FwCompress.FwSz(System.Object)">
  1239. <summary>
  1240. serialize
  1241. </summary>
  1242. </member>
  1243. <member name="M:GSG.NET.LINQ.FwCompress.FwDsz(System.Byte[])">
  1244. <summary>
  1245. deserialize
  1246. </summary>
  1247. </member>
  1248. <member name="T:GSG.NET.LINQ.FwEnum">
  1249. <summary>
  1250. Enum 확장함수
  1251. </summary>
  1252. </member>
  1253. <member name="M:GSG.NET.LINQ.FwEnum.FwIntOf(System.Enum)">
  1254. <summary>
  1255. enum to int value
  1256. </summary>
  1257. </member>
  1258. <member name="M:GSG.NET.LINQ.FwEnum.FwEnumOf``1(``0,System.String)">
  1259. <summary>
  1260. string to enum
  1261. <para>enum e = 0;</para>
  1262. <para>e.FwEnumOf("VVV");</para>
  1263. </summary>
  1264. </member>
  1265. <member name="M:GSG.NET.LINQ.FwEnum.FwEnumOf``1(``0,System.Int32)">
  1266. <summary>
  1267. int to enum
  1268. </summary>
  1269. </member>
  1270. <member name="T:GSG.NET.LINQ.FwLambda">
  1271. <summary>
  1272. <para>TopN:Linq 기본함수. Skip, Take 사용.</para>
  1273. <para>Any</para>
  1274. </summary>
  1275. </member>
  1276. <member name="M:GSG.NET.LINQ.FwLambda.FwNth``1(System.Collections.Generic.IEnumerable{``0},System.Int32,System.Int32)">
  1277. <summary>
  1278. <para>index 기준 가져오기</para>
  1279. <para>-</para>
  1280. <para>짝수: FwNth(2,0);</para>
  1281. <para>홀수: FwNth(2,1);</para>
  1282. </summary>
  1283. </member>
  1284. <member name="M:GSG.NET.LINQ.FwLambda.FwEmpty``1(System.Collections.Generic.IEnumerable{``0})">
  1285. <summary>
  1286. Count, Length ==0
  1287. <para>source == null: true</para>
  1288. <para>string의 Length체크 기능도 됨: FwNull은 NSS_NULL value이므로 이함수 사용도 가능함.</para>
  1289. </summary>
  1290. </member>
  1291. <member name="M:GSG.NET.LINQ.FwLambda.FwEmpty(System.String,System.Boolean)">
  1292. <summary>
  1293. Kang Make.
  1294. </summary>
  1295. <param name="source"></param>
  1296. <param name="trim"></param>
  1297. <returns></returns>
  1298. </member>
  1299. <member name="M:GSG.NET.LINQ.FwLambda.FwOrdAsc``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
  1300. <summary>
  1301. OrderBy(selector).ToList() 코드 축소형
  1302. <para>기본형은 Labmda 사용 권장</para>
  1303. <para>IOrderedEnumerable을 List로 변경됨 유의!!</para>
  1304. </summary>
  1305. </member>
  1306. <member name="M:GSG.NET.LINQ.FwLambda.FwOrdDesc``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
  1307. <summary>
  1308. OrderByDescending(selector).ToList() 코드 축소형
  1309. <para>기본형은 Labmda 사용 권장</para>
  1310. <para>IOrderedEnumerable을 List로 변경됨 유의!!</para>
  1311. </summary>
  1312. </member>
  1313. <member name="M:GSG.NET.LINQ.FwLambda.FwGroupKey``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
  1314. <summary>
  1315. GroupBy Key를 List로 반환함.
  1316. </summary>
  1317. </member>
  1318. <member name="M:GSG.NET.LINQ.FwLambda.FwGroupList``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
  1319. <summary>
  1320. GroupBy (Key+List) Dictionary
  1321. </summary>
  1322. </member>
  1323. <member name="M:GSG.NET.LINQ.FwLambda.FwEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
  1324. <summary>
  1325. <para>List에서만 수행되는 ForEach를 IEnumerable 에서도 수행가능.</para>
  1326. <para>-</para>
  1327. <para>!! FwEach 2개 이상 사용시 반드시 ToList로 변경 후 호출.</para>
  1328. <para>Select로 가져온 IEnumerable은 Cursor가 마지막 위치 이므로 Loop를 수행하지 않음.</para>
  1329. </summary>
  1330. </member>
  1331. <member name="M:GSG.NET.LINQ.FwLambda.FwEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0,System.Int32})">
  1332. <summary>
  1333. foreach에서 index를 활용하고 싶을 경우 사용
  1334. <para>List.FwEach((x,idx)=> ...)</para>
  1335. </summary>
  1336. </member>
  1337. <member name="M:GSG.NET.LINQ.FwLambda.FwContains``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEnumerable{``1})">
  1338. <summary>
  1339. <para>source 객체의 특정 Property항목중 comp를 포함하는 List 추출.</para>
  1340. <para>!! comp의 입력 순서를 보장한다, 20151204</para>
  1341. <para>e.g.)var v = ll.FwContains(x => x.IntX, new int[] { 2, 3 });</para>
  1342. <para>e.g.)var v = ll.FwContains(x => x.IntX, lly.Select(y => y.IntY));</para>
  1343. </summary>
  1344. </member>
  1345. <member name="M:GSG.NET.LINQ.FwLambda.FwSort``1(System.Collections.Generic.IEnumerable{``0})">
  1346. <summary>
  1347. <para>기본 Sort, Argument 없는 OrderBy와 동일함.</para>
  1348. <para>string, int, DateTime등 기본 compare가 있는 타입에 사용가능함.</para>
  1349. </summary>
  1350. </member>
  1351. <member name="M:GSG.NET.LINQ.FwLambda.FwSort``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEnumerable{``1})">
  1352. <summary>
  1353. <para>comp의 기준으로 sort한다.</para>
  1354. <para>comp 포함되지 않는 항목은 뒤로 보내서 위치시킨다.</para>
  1355. <para>-</para>
  1356. <para>var a = ll.FwSort(x => x.IntX);</para>
  1357. <para>var b = ll.FwSort(x => x.StrX, llb.Select(y=> y.xxx));</para>
  1358. </summary>
  1359. </member>
  1360. <member name="M:GSG.NET.LINQ.FwLambda.FwSort``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},``1[])">
  1361. <summary>
  1362. <para>comp의 기준으로 sort한다.</para>
  1363. <para>comp 포함되지 않는 항목은 뒤로 보내서 위치시킨다.</para>
  1364. <para>-</para>
  1365. <para>var a = ll.FwSort(x => x.IntX);</para>
  1366. <para>var b = ll.FwSort(x => x.StrX, new string[] { "0004", "0002", });</para>
  1367. </summary>
  1368. </member>
  1369. <member name="M:GSG.NET.LINQ.FwLambda.FwTake``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},``1,``1)">
  1370. <summary>
  1371. from~to 부분을 Take함.
  1372. <para>to 는 from 이후의 최초 발견되는 to까지 찾는다.</para>
  1373. <para>from이 없거나 to가 없는 경우 exception</para>
  1374. <para>from 이후 to가 없을 경우 exception</para>
  1375. <para>-</para>
  1376. <para>var a = ll.FwTake(x => x.IntX, 2, 6);</para>
  1377. </summary>
  1378. </member>
  1379. <member name="M:GSG.NET.LINQ.FwLambda.FwNothing``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean})">
  1380. <summary>
  1381. 조건을 만족하는 element가 하나도 없으면.. true
  1382. </summary>
  1383. </member>
  1384. <member name="M:GSG.NET.LINQ.FwLambda.FwDistinct``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
  1385. <summary>
  1386. Selector 기준 중복 제거
  1387. </summary>
  1388. </member>
  1389. <member name="T:GSG.NET.LINQ.FwNumber">
  1390. <summary>
  1391. Number 관련 함수
  1392. </summary>
  1393. </member>
  1394. <member name="M:GSG.NET.LINQ.FwNumber.FwBlur(System.Int32,System.Int32)">
  1395. <summary>
  1396. 숫자 흐리게 하기
  1397. </summary>
  1398. </member>
  1399. <member name="M:GSG.NET.LINQ.FwNumber.FwBtw``1(``0,``0,``0)">
  1400. <summary>
  1401. Between
  1402. <para>Linq, NssModel 사용가능</para>
  1403. <para>MongoModel 사용불가</para>
  1404. </summary>
  1405. </member>
  1406. <member name="M:GSG.NET.LINQ.FwNumber.FwBtw(System.Int32,System.Double,System.Double)">
  1407. <summary>
  1408. Between
  1409. <para>Linq, NssModel 사용가능</para>
  1410. <para>MongoModel 사용불가</para>
  1411. <para>-</para>
  1412. </summary>
  1413. </member>
  1414. <member name="M:GSG.NET.LINQ.FwNumber.FwBtw``1(System.String,``0,``0)">
  1415. <summary>
  1416. Between
  1417. <para>Linq, NssModel 사용가능</para>
  1418. <para>MongoModel 사용불가</para>
  1419. <para>-</para>
  1420. <para>TryParse 에러 return false</para>
  1421. <para>int,long,float,double,datetime 지원</para>
  1422. </summary>
  1423. </member>
  1424. <member name="M:GSG.NET.LINQ.FwNumber.FwMin``1(``0,``0)">
  1425. <summary/>
  1426. </member>
  1427. <member name="M:GSG.NET.LINQ.FwNumber.FwMax``1(``0,``0)">
  1428. <summary/>
  1429. </member>
  1430. <member name="M:GSG.NET.LINQ.FwNumber.FwDivEq0(System.Int32,System.Int32)">
  1431. <summary>
  1432. 배수체크
  1433. </summary>
  1434. </member>
  1435. <member name="M:GSG.NET.LINQ.FwNumber.FwIntOf(System.String,System.Int32)">
  1436. <summary>
  1437. <para>Exception이 발생하지 않으며 parse fail 경우 기본값: def 반환</para>
  1438. </summary>
  1439. </member>
  1440. <member name="M:GSG.NET.LINQ.FwNumber.FwIntOf(System.Double)">
  1441. <summary>
  1442. double to int32
  1443. </summary>
  1444. </member>
  1445. <member name="M:GSG.NET.LINQ.FwNumber.FwIntOf(System.Single)">
  1446. <summary>
  1447. float to int32
  1448. </summary>
  1449. </member>
  1450. <member name="M:GSG.NET.LINQ.FwNumber.FwIntOf(System.Decimal)">
  1451. <summary>
  1452. decimal to int32
  1453. </summary>
  1454. </member>
  1455. <member name="M:GSG.NET.LINQ.FwNumber.FwIntOf(System.String,System.Boolean)">
  1456. <summary>
  1457. <para>Hexa format string parsing</para>
  1458. <para>Exception이 발생하지 않으며 기본값 반환</para>
  1459. </summary>
  1460. </member>
  1461. <member name="M:GSG.NET.LINQ.FwNumber.FwFloatOf(System.Decimal)">
  1462. <summary>
  1463. decimal to float
  1464. </summary>
  1465. </member>
  1466. <member name="M:GSG.NET.LINQ.FwNumber.FwFloatOf(System.String)">
  1467. <summary>
  1468. <para>Exception이 발생하지 않으며 기본값 반환</para>
  1469. </summary>
  1470. </member>
  1471. <member name="M:GSG.NET.LINQ.FwNumber.FwDoubleOf(System.String)">
  1472. <summary>
  1473. <para>Exception이 발생하지 않으며 기본값 반환</para>
  1474. </summary>
  1475. </member>
  1476. <member name="T:GSG.NET.LINQ.FwStats">
  1477. <summary>
  1478. Number 관련 함수
  1479. </summary>
  1480. </member>
  1481. <member name="M:GSG.NET.LINQ.FwStats.FwAvg``1(System.Collections.Generic.IEnumerable{``0})">
  1482. <summary>
  1483. source count 0 일 경우 exception 방지
  1484. </summary>
  1485. </member>
  1486. <member name="M:GSG.NET.LINQ.FwStats.FwVariance``1(System.Collections.Generic.IEnumerable{``0})">
  1487. <summary>
  1488. <para>분포도(분산)</para>
  1489. </summary>
  1490. </member>
  1491. <member name="M:GSG.NET.LINQ.FwStats.FwStdDev``1(System.Collections.Generic.IEnumerable{``0})">
  1492. <summary>
  1493. <para>표준편차</para>
  1494. </summary>
  1495. </member>
  1496. <member name="M:GSG.NET.LINQ.FwStats.FwMedian``1(System.Collections.Generic.IEnumerable{``0})">
  1497. <summary>
  1498. Median 구하기
  1499. <para>홀수 샘플: 중간값</para>
  1500. <para>짝수 샘플: 중간값 2개 / 2</para>
  1501. </summary>
  1502. </member>
  1503. <member name="T:GSG.NET.LINQ.FwString">
  1504. <summary/>
  1505. </member>
  1506. <member name="M:GSG.NET.LINQ.FwString.FwFormat(System.DateTime,System.String)">
  1507. <summary>
  1508. '/'를 넣을수 있는 InvariantInfo
  1509. <para>ToString(format, System.Globalization.DateTimeFormatInfo.InvariantInfo)</para>
  1510. </summary>
  1511. </member>
  1512. <member name="M:GSG.NET.LINQ.FwString.FwFormat(System.String,System.Object[])">
  1513. <summary>
  1514. string.Format 대체
  1515. </summary>
  1516. </member>
  1517. <member name="M:GSG.NET.LINQ.FwString.FwLog``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Object},System.String)">
  1518. <summary>
  1519. List의 Property를 ,기준으로 string화 처리
  1520. </summary>
  1521. </member>
  1522. <member name="M:GSG.NET.LINQ.FwString.FwNull(System.String)">
  1523. <summary>
  1524. Nss null string check 함수
  1525. <para>string.IsNullOrEmpty이거나 Foco.NSS_NULL_STRING 입력값과 동일하면 true</para>
  1526. <para>-</para>
  1527. <para>일반 string 비교일 경우 FwEmpty를 사용해야 함</para>
  1528. </summary>
  1529. </member>
  1530. <member name="M:GSG.NET.LINQ.FwString.FwSplit(System.String,System.String[])">
  1531. <summary>
  1532. RemoveEmptyEntries option split
  1533. </summary>
  1534. </member>
  1535. <member name="M:GSG.NET.LINQ.FwString.FwSplit(System.String,System.Char[])">
  1536. <summary>
  1537. RemoveEmptyEntries option split
  1538. </summary>
  1539. </member>
  1540. <member name="M:GSG.NET.LINQ.FwString.FwEmpty(System.String,System.Boolean)">
  1541. <summary>
  1542. string.IsNullOrEmpty
  1543. <para>string이 null 일 경우에도 사용가능</para>
  1544. <para>Trim은 옵션으로 체크</para>
  1545. </summary>
  1546. </member>
  1547. <member name="T:GSG.NET.ObjectBase.SingletonBase`1">
  1548. <summary>
  1549. A base class for the singleton design pattern.
  1550. </summary>
  1551. <typeparam name="T">Class type of the singleton</typeparam>
  1552. </member>
  1553. <member name="F:GSG.NET.ObjectBase.SingletonBase`1.sInstance">
  1554. <summary>
  1555. Static instance. Needs to use lambda expression
  1556. to construct an instance (since constructor is private).
  1557. </summary>
  1558. </member>
  1559. <member name="P:GSG.NET.ObjectBase.SingletonBase`1.Instance">
  1560. <summary>
  1561. Gets the instance of this singleton.
  1562. </summary>
  1563. </member>
  1564. <member name="M:GSG.NET.ObjectBase.SingletonBase`1.CreateInstanceOfT">
  1565. <summary>
  1566. Creates an instance of T via reflection since T's constructor is expected to be private.
  1567. </summary>
  1568. <returns></returns>
  1569. </member>
  1570. <member name="T:GSG.NET.OSView.EventLogSpy">
  1571. <summary>
  1572. <para>Event 로그를 읽는것이 느려서</para>
  1573. <para>EntryWritten을 활용하는 방법으로 구현한다.</para>
  1574. </summary>
  1575. </member>
  1576. <member name="E:GSG.NET.OSView.EventLogSpy.OnEntryWritten">
  1577. <summary/>
  1578. </member>
  1579. <member name="T:GSG.NET.OSView.EventLogSpy.LogType">
  1580. <summary/>
  1581. </member>
  1582. <member name="F:GSG.NET.OSView.EventLogSpy.LogType.Application">
  1583. <summary/>
  1584. </member>
  1585. <member name="F:GSG.NET.OSView.EventLogSpy.LogType.System">
  1586. <summary/>
  1587. </member>
  1588. <member name="F:GSG.NET.OSView.EventLogSpy.LogType.Security">
  1589. <summary/>
  1590. </member>
  1591. <member name="F:GSG.NET.OSView.EventLogSpy.LogType.Setup">
  1592. <summary/>
  1593. </member>
  1594. <member name="M:GSG.NET.OSView.EventLogSpy.Watch(GSG.NET.OSView.EventLogSpy.LogType)">
  1595. <summary/>
  1596. </member>
  1597. <member name="M:GSG.NET.OSView.EventLogSpy.Close">
  1598. <summary/>
  1599. </member>
  1600. <member name="M:GSG.NET.OSView.EventLogSpy.WarnOrError(System.Diagnostics.EventLogEntry)">
  1601. <summary>
  1602. <para>Waring 또는 에러인지 검사.</para>
  1603. </summary>
  1604. </member>
  1605. <member name="T:GSG.NET.OSView.Mgnt">
  1606. <summary>
  1607. Management
  1608. </summary>
  1609. </member>
  1610. <member name="M:GSG.NET.OSView.Mgnt.PrinterNames">
  1611. <summary/>
  1612. </member>
  1613. <member name="M:GSG.NET.OSView.Mgnt.CpuUseRate">
  1614. <summary>
  1615. <para>CPU 사용률 % / 100%기준.</para>
  1616. </summary>
  1617. </member>
  1618. <member name="M:GSG.NET.OSView.Mgnt.ProcCpu1UseRate(System.String)">
  1619. <summary>
  1620. <para>Process 의 CPU 사용률</para>
  1621. <para>1 cpu 기준이므로 multi cpu 일 경우 processor count 로 나눠야 한다.</para>
  1622. </summary>
  1623. </member>
  1624. <member name="M:GSG.NET.OSView.Mgnt.ProcCpuUseRate(System.String)">
  1625. <summary>
  1626. <para>Logical CPU 기준으로 나눈값</para>
  1627. </summary>
  1628. </member>
  1629. <member name="M:GSG.NET.OSView.Mgnt.ProcMemUseKB(System.String)">
  1630. <summary>
  1631. <para>메모리 사용량 KB</para>
  1632. <para>PrivateMemorySize</para>
  1633. </summary>
  1634. </member>
  1635. <member name="M:GSG.NET.OSView.Mgnt.ProcMemPeakUseKB(System.String)">
  1636. <summary>
  1637. <para>Peak 메모리 사용량 KB</para>
  1638. <para>PrivateMemorySize</para>
  1639. </summary>
  1640. </member>
  1641. <member name="M:GSG.NET.OSView.Mgnt.MemPhysicalKB">
  1642. <summary>
  1643. <para>Physical Memory Size KB 단위 추출</para>
  1644. </summary>
  1645. </member>
  1646. <member name="M:GSG.NET.OSView.Mgnt.MemVirtualKB">
  1647. <summary>
  1648. <para>Virtual Memory Size KB 단위 추출</para>
  1649. </summary>
  1650. </member>
  1651. <member name="M:GSG.NET.OSView.Mgnt.MemVirtualFreeKB">
  1652. <summary>
  1653. Virtual 기준 Free Kb size
  1654. </summary>
  1655. </member>
  1656. <member name="M:GSG.NET.OSView.Mgnt.MemVirtualUseKB">
  1657. <summary>
  1658. Virtual 기준 Use KB
  1659. </summary>
  1660. </member>
  1661. <member name="M:GSG.NET.OSView.Mgnt.MemPhysicalFreeKB">
  1662. <summary>
  1663. Physical 기준 Free size
  1664. </summary>
  1665. </member>
  1666. <member name="M:GSG.NET.OSView.Mgnt.MemPhysicalUseKB">
  1667. <summary>
  1668. Physical 기준 사용량 KB
  1669. </summary>
  1670. </member>
  1671. <member name="M:GSG.NET.OSView.Mgnt.MemPhysicalUseRate">
  1672. <summary>
  1673. Physical 기준 100분율
  1674. </summary>
  1675. </member>
  1676. <member name="M:GSG.NET.OSView.Mgnt.OsName">
  1677. <summary>
  1678. <para>OS Name 가져오기.</para>
  1679. </summary>
  1680. </member>
  1681. <member name="M:GSG.NET.OSView.Mgnt.CpuCountLogical">
  1682. <summary>
  1683. <para>Retrieve Total Logical Cpu Count</para>
  1684. </summary>
  1685. </member>
  1686. <member name="M:GSG.NET.OSView.Mgnt.MemVirtualUseRate">
  1687. <summary>
  1688. <para>메모리 사용률 %</para>
  1689. </summary>
  1690. </member>
  1691. <member name="M:GSG.NET.OSView.Mgnt.HddList">
  1692. <summary>
  1693. <para>Ready 상태이고, HDD 드라이브만 추출</para>
  1694. </summary>
  1695. </member>
  1696. <member name="M:GSG.NET.OSView.Mgnt.LocalIpList">
  1697. <summary>
  1698. <para>Local IP Address 가져오기.</para>
  1699. </summary>
  1700. </member>
  1701. <member name="M:GSG.NET.OSView.Mgnt.MacAddressList">
  1702. <summary>
  1703. <para>Local Mac Address 가져오기.</para>
  1704. </summary>
  1705. </member>
  1706. <member name="M:GSG.NET.OSView.Mgnt.Wql(System.String)">
  1707. <summary>
  1708. wql: SQL for WMI
  1709. </summary>
  1710. </member>
  1711. <member name="P:GSG.NET.OSView.Mgnt.Is64BitOperatingSystem">
  1712. <summary>
  1713. 32, 64 bit check
  1714. </summary>
  1715. </member>
  1716. <member name="M:GSG.NET.OSView.Mgnt.GetDotnetVersion">
  1717. <summary>
  1718. CLR version retrieve
  1719. </summary>
  1720. </member>
  1721. <member name="M:GSG.NET.OSView.Mgnt.AddFirewall(System.String,System.Int32)">
  1722. <summary>
  1723. Tcp 방화벽 등록.
  1724. </summary>
  1725. </member>
  1726. <member name="M:GSG.NET.OSView.Mgnt.ServiceStart(System.String)">
  1727. <summary/>
  1728. </member>
  1729. <member name="M:GSG.NET.OSView.Mgnt.ServiceStop(System.String)">
  1730. <summary/>
  1731. </member>
  1732. <member name="T:GSG.NET.Poco">
  1733. <summary>
  1734. POCO(Plain Old CLR Object)
  1735. </summary>
  1736. </member>
  1737. <member name="F:GSG.NET.Poco.T_INT">
  1738. <summary>
  1739. Int32 타입과 동일
  1740. </summary>
  1741. </member>
  1742. <member name="F:GSG.NET.Poco.T_LONG">
  1743. <summary>
  1744. Int64 타입과 동일
  1745. </summary>
  1746. </member>
  1747. <member name="F:GSG.NET.Poco.T_FLOAT">
  1748. <summary>
  1749. Single 타입과 동일
  1750. </summary>
  1751. </member>
  1752. <member name="F:GSG.NET.Poco.T_DOUBLE">
  1753. <summary>
  1754. Double 타입과 동일
  1755. </summary>
  1756. </member>
  1757. <member name="M:GSG.NET.Poco.ToString">
  1758. <summary>
  1759. ToString 재정의
  1760. </summary>
  1761. </member>
  1762. <member name="M:GSG.NET.Poco.ChgNullValue(System.String)">
  1763. <summary>
  1764. string Property값이 null일 경우 v로 변경.
  1765. </summary>
  1766. </member>
  1767. <member name="M:GSG.NET.Poco.ChgNullValue">
  1768. <summary>
  1769. string Property값이 null일 경우 string.Empty로 변경.
  1770. </summary>
  1771. </member>
  1772. <member name="F:GSG.NET.Poco.NSS_NULL_STRING">
  1773. <summary>
  1774. Nss Null string setting
  1775. <para>def: string.Empty</para>
  1776. </summary>
  1777. </member>
  1778. <member name="M:GSG.NET.Poco.IntV(System.String)">
  1779. <summary/>
  1780. </member>
  1781. <member name="M:GSG.NET.Poco.DoubleV(System.String)">
  1782. <summary/>
  1783. </member>
  1784. <member name="T:GSG.NET.Interop32">
  1785. <summary>
  1786. <para>const uint FILE_SHARE_READ = 1;</para>
  1787. <para></para>
  1788. <para>const uint FILE_ATTRIBUTE_NORMAL = 0x80;</para>
  1789. <para></para>
  1790. <para>const uint GENERIC_READ = 0x80000000;</para>
  1791. <para>const uint OPEN_EXISTING = 3;</para>
  1792. <para></para>
  1793. <para></para>
  1794. <para></para>
  1795. </summary>
  1796. </member>
  1797. <member name="T:GSG.NET.LinqEx">
  1798. <summary>
  1799. 내부적으로 사용하는 Linq 확장함수
  1800. <para>내부적으로 사용한다는 의미에서 소문자로 시작하는 method 화</para>
  1801. </summary>
  1802. </member>
  1803. <member name="M:GSG.NET.LinqEx.avg``1(System.Collections.Generic.IEnumerable{``0})">
  1804. <summary>
  1805. source count 0 일 경우 exception 방지
  1806. </summary>
  1807. </member>
  1808. <member name="M:GSG.NET.LinqEx.format(System.Text.StringBuilder,System.String,System.Object[])">
  1809. <summary>
  1810. append format
  1811. </summary>
  1812. </member>
  1813. <member name="M:GSG.NET.LinqEx.empty``1(System.Collections.Generic.IEnumerable{``0})">
  1814. <summary>
  1815. Count, Length == 0
  1816. <para>source == null: true</para>
  1817. </summary>
  1818. </member>
  1819. <member name="M:GSG.NET.LinqEx.empty(System.String,System.Boolean)">
  1820. <summary>
  1821. string.IsNullOrEmpty
  1822. <para>Trim 은 옵션으로 체크</para>
  1823. </summary>
  1824. </member>
  1825. <member name="M:GSG.NET.LinqEx.multi(System.Single,System.Int32)">
  1826. <summary>
  1827. 곱하기
  1828. </summary>
  1829. </member>
  1830. <member name="M:GSG.NET.LinqEx.div(System.Int32,System.Int32)">
  1831. <summary>
  1832. 나누기
  1833. </summary>
  1834. </member>
  1835. <member name="M:GSG.NET.LinqEx.remain(System.Int32,System.Int32)">
  1836. <summary>
  1837. 나머지
  1838. </summary>
  1839. </member>
  1840. <member name="M:GSG.NET.LinqEx.split(System.String,System.String[])">
  1841. <summary>
  1842. remove empty option 적용, empty string을 제거한다
  1843. </summary>
  1844. </member>
  1845. <member name="M:GSG.NET.LinqEx.stringOf(System.Byte[],System.Text.Encoding)">
  1846. <summary>
  1847. <para>byte array -> string</para>
  1848. <para>null byte 0 -> 0x20</para>
  1849. </summary>
  1850. </member>
  1851. <member name="M:GSG.NET.LinqEx.stringOf(System.Char[])">
  1852. <summary>
  1853. char array -> string
  1854. </summary>
  1855. </member>
  1856. <member name="M:GSG.NET.LinqEx.xFF(System.Byte[])">
  1857. <summary>
  1858. byte -&gt; 2byte(0xff) string
  1859. <para>1,2,3 -gt; 010203</para>
  1860. </summary>
  1861. </member>
  1862. <member name="M:GSG.NET.Logging.AppenderUtils.RemoveAppender(log4net.Repository.Hierarchy.Logger,System.String)">
  1863. <summary>
  1864. <para>1. Logger에서 Appender 제거함.</para>
  1865. <para>2. Close Appender</para>
  1866. </summary>
  1867. <param name="logger"></param>
  1868. <param name="name"></param>
  1869. </member>
  1870. <member name="T:GSG.NET.Logging.CsvAppender">
  1871. <summary>
  1872. Csv Header를 추가한 appender
  1873. <para>def values</para>
  1874. <para>File: CSV</para>
  1875. <para>Name: CsvAppender</para>
  1876. <para>DatePattern: -yyyyMMdd.'csv'</para>
  1877. <para>BackupDays: 30</para>
  1878. </summary>
  1879. </member>
  1880. <member name="P:GSG.NET.Logging.CsvAppender.Header">
  1881. <summary>
  1882. Csv Header
  1883. </summary>
  1884. </member>
  1885. <member name="P:GSG.NET.Logging.CsvAppender.LogPattern">
  1886. <summary>
  1887. <para>Log content pattern</para>
  1888. <para>%m%n</para>
  1889. </summary>
  1890. </member>
  1891. <member name="M:GSG.NET.Logging.CsvAppender.#ctor">
  1892. <summary/>
  1893. </member>
  1894. <member name="M:GSG.NET.Logging.CsvAppender.ActivateOptions">
  1895. <summary/>
  1896. </member>
  1897. <member name="M:GSG.NET.Logging.CsvAppender.WriteHeader">
  1898. <summary/>
  1899. </member>
  1900. <member name="T:GSG.NET.Logging.FileAppender">
  1901. <summary>
  1902. <para>Floware FileAppender</para>
  1903. <para>-</para>
  1904. <para>default value</para>
  1905. <para>BackupDays: 10</para>
  1906. <para>DatePattern: -MMdd'.log'</para>
  1907. <para>Layout: %d{MM-dd HH:mm:ss.fff} %-2.2t %-5p %m%n</para>
  1908. <para>-</para>
  1909. <para>StaticLogFileName: 최초 파일 생성시 datepattern이 적용된 파일로 생성여부.</para>
  1910. <para>default: true, xxx.log</para>
  1911. <para>false: xxx-130405.log</para>
  1912. <para>폴더 생성 모드를 사용할 경우 자동으로 false로 세팅된다.</para>
  1913. <para>-</para>
  1914. <para>PreserveLogFileNameExtension: log4net 1.2.11 이상</para>
  1915. <para>-</para>
  1916. <para>폴더 만들기 예제 File</para>
  1917. <para>"C:/LOG/SECS-I/%d/SECS1"</para>
  1918. <para>-</para>
  1919. </summary>
  1920. </member>
  1921. <member name="M:GSG.NET.Logging.FileAppender.#ctor">
  1922. <summary>
  1923. FileAppender constructor
  1924. </summary>
  1925. </member>
  1926. <member name="M:GSG.NET.Logging.FileAppender.#ctor(log4net.Core.Level)">
  1927. <summary>
  1928. FileAppender constructor
  1929. </summary>
  1930. </member>
  1931. <member name="P:GSG.NET.Logging.FileAppender.BackupDays">
  1932. <summary/>
  1933. </member>
  1934. <member name="M:GSG.NET.Logging.FileAppender.ActivateOptions">
  1935. <summary/>
  1936. </member>
  1937. <member name="M:GSG.NET.Logging.FileAppender.OpenFile(System.String,System.Boolean)">
  1938. <summary/>
  1939. </member>
  1940. <member name="M:GSG.NET.Logging.FileAppender.AdjustFileBeforeAppend">
  1941. <summary>
  1942. Logging을 할때마다 아래 함수가 호출되며
  1943. 먼저 파일을 닫고, OpenFile이 호출된다.
  1944. </summary>
  1945. </member>
  1946. <member name="M:GSG.NET.Logging.FileAppender.OnClose">
  1947. <summary>
  1948. appender close
  1949. </summary>
  1950. </member>
  1951. <member name="T:GSG.NET.Logging.Logger">
  1952. <summary>
  1953. Logger wrapping class
  1954. </summary>
  1955. </member>
  1956. <member name="M:GSG.NET.Logging.Logger.GetLogger">
  1957. <summary>
  1958. Logger를 생성한 Class의 Type을 찾아서 Logger를 만든다.
  1959. </summary>
  1960. </member>
  1961. <member name="M:GSG.NET.Logging.Logger.GetLogger(System.Type)">
  1962. <summary>
  1963. Logger factory
  1964. </summary>
  1965. </member>
  1966. <member name="M:GSG.NET.Logging.Logger.GetLogger(System.String)">
  1967. <summary>
  1968. Logger factory
  1969. </summary>
  1970. </member>
  1971. <member name="M:GSG.NET.Logging.Logger.D(System.Object)">
  1972. <summary>
  1973. Debug
  1974. </summary>
  1975. </member>
  1976. <member name="M:GSG.NET.Logging.Logger.D(System.String,System.Object[])">
  1977. <summary>
  1978. DebugFormat
  1979. </summary>
  1980. </member>
  1981. <member name="P:GSG.NET.Logging.Logger.IsDE">
  1982. <summary>
  1983. DebugEnabled
  1984. </summary>
  1985. </member>
  1986. <member name="M:GSG.NET.Logging.Logger.I(System.Object)">
  1987. <summary>
  1988. Info
  1989. </summary>
  1990. </member>
  1991. <member name="M:GSG.NET.Logging.Logger.I(System.String,System.Object[])">
  1992. <summary>
  1993. InfoFormat
  1994. </summary>
  1995. </member>
  1996. <member name="M:GSG.NET.Logging.Logger.W(System.Object)">
  1997. <summary>
  1998. Warn
  1999. </summary>
  2000. </member>
  2001. <member name="M:GSG.NET.Logging.Logger.W(System.String,System.Object[])">
  2002. <summary>
  2003. WarnFormat
  2004. </summary>
  2005. </member>
  2006. <member name="M:GSG.NET.Logging.Logger.E(System.Object)">
  2007. <summary>
  2008. Error
  2009. </summary>
  2010. </member>
  2011. <member name="M:GSG.NET.Logging.Logger.E(System.String,System.Object[])">
  2012. <summary>
  2013. ErrorFormat
  2014. </summary>
  2015. </member>
  2016. <member name="M:GSG.NET.Logging.Logger.F(System.Object)">
  2017. <summary>
  2018. Fatal
  2019. </summary>
  2020. </member>
  2021. <member name="M:GSG.NET.Logging.Logger.F(System.String,System.Object[])">
  2022. <summary>
  2023. FatalFormat
  2024. </summary>
  2025. </member>
  2026. <member name="M:GSG.NET.Logging.LoggerUtils.HasLogger(System.String)">
  2027. <summary>
  2028. Has Logger or not
  2029. </summary>
  2030. <param name="loggerName">LoggerName</param>
  2031. </member>
  2032. <member name="M:GSG.NET.Logging.LoggerUtils.GetLogger(System.String)">
  2033. <summary>
  2034. <para>Logger가 없을 경우 만들어준다.</para>
  2035. <para>AddLogger 기능과 같다.</para>
  2036. </summary>
  2037. </member>
  2038. <member name="T:GSG.NET.Logging.LogUtils">
  2039. <summary>
  2040. <para>Log4Net Utils</para>
  2041. </summary>
  2042. </member>
  2043. <member name="M:GSG.NET.Logging.LogUtils.Configure">
  2044. <summary>
  2045. <para>empty log4net config</para>
  2046. <para>log repository...</para>
  2047. <para>Level: INFO</para>
  2048. </summary>
  2049. </member>
  2050. <member name="M:GSG.NET.Logging.LogUtils.Configure(System.String)">
  2051. <summary>
  2052. <para>Log4net config file loading</para>
  2053. </summary>
  2054. <param name="cfgPath"></param>
  2055. </member>
  2056. <member name="M:GSG.NET.Logging.LogUtils.Configure(System.String,System.Boolean)">
  2057. <summary/>
  2058. </member>
  2059. <member name="P:GSG.NET.Logging.LogUtils.RootLogger">
  2060. <summary>
  2061. <para>Get RootLogger</para>
  2062. </summary>
  2063. </member>
  2064. <member name="M:GSG.NET.Logging.LogUtils.ChangeAdditivity(System.String,System.Boolean)">
  2065. <summary>
  2066. <para>Change additivity option</para>
  2067. </summary>
  2068. </member>
  2069. <member name="M:GSG.NET.Logging.LogUtils.CreateConsoleAppender">
  2070. <summary>
  2071. <para>Create Console Appender</para>
  2072. </summary>
  2073. </member>
  2074. <member name="M:GSG.NET.Logging.LogUtils.CreateConsoleAppender(System.String)">
  2075. <summary/>
  2076. <param name="name">Appender Name</param>
  2077. </member>
  2078. <member name="M:GSG.NET.Logging.LogUtils.CreateConsoleAppender(System.String,log4net.Layout.ILayout)">
  2079. <summary/>
  2080. <param name="name">Appender Name</param>
  2081. <param name="layout"></param>
  2082. </member>
  2083. <member name="M:GSG.NET.Logging.LogUtils.CommonLogging">
  2084. <summary/>
  2085. </member>
  2086. <member name="M:GSG.NET.Logging.LogUtils.ChangeLevel(log4net.Core.Level)">
  2087. <summary>
  2088. <para>RootLogger Change Level</para>
  2089. </summary>
  2090. </member>
  2091. <member name="M:GSG.NET.Logging.LogUtils.ChangeLevel(System.String,log4net.Core.Level)">
  2092. <summary>
  2093. <para>Non-RootLogger Change Level</para>
  2094. </summary>
  2095. </member>
  2096. <member name="M:GSG.NET.Logging.LogUtils.ChangeThreshold(System.String,log4net.Core.Level)">
  2097. <summary>
  2098. <para>Change RootLogger Appender's Level</para>
  2099. </summary>
  2100. </member>
  2101. <member name="M:GSG.NET.Logging.LogUtils.ChangeThreshold(System.String,System.String,log4net.Core.Level)">
  2102. <summary>
  2103. <para>Change Specific Logger Appender's Level</para>
  2104. </summary>
  2105. </member>
  2106. <member name="P:GSG.NET.Logging.LogUtils.DefaultLayout">
  2107. <summary>
  2108. <para>%d{MM-dd HH:mm:ss.fff} %-2.2t %-5p %m%n</para>
  2109. <para>-</para>
  2110. <para>LoggerName: %-10.10c</para>
  2111. <para>-</para>
  2112. <para>%-a.b -:left justify, a:minimum width, b:maximum width</para>
  2113. <para>-</para>
  2114. </summary>
  2115. </member>
  2116. <member name="M:GSG.NET.Logging.LogUtils.CreateLayout(System.String)">
  2117. <summary>
  2118. <para>Pattern layout 생성</para>
  2119. <para>-</para>
  2120. <para>Class: %c</para>
  2121. </summary>
  2122. </member>
  2123. <member name="M:GSG.NET.Logging.LogUtils.AddAppender(log4net.Appender.IAppender)">
  2124. <summary>
  2125. <para>RootLogger AddAppender</para>
  2126. </summary>
  2127. </member>
  2128. <member name="M:GSG.NET.Logging.LogUtils.AddAppender(System.String,log4net.Appender.IAppender)">
  2129. <summary>
  2130. <para>Non-RootLogger AddAppender</para>
  2131. <para>Logger가 없을 경우 생성한다.</para>
  2132. <para>-</para>
  2133. <para>AppenderName이 없을 경우 loggerName을 AppenderName으로 세팅한다.</para>
  2134. <para>-</para>
  2135. </summary>
  2136. </member>
  2137. <member name="M:GSG.NET.Logging.LogUtils.AddAppender(System.String,log4net.Appender.IAppender,System.Boolean)">
  2138. <summary>
  2139. <para>Non-RootLogger AddAppender</para>
  2140. <para>Logger가 없을 경우 생성한다.</para>
  2141. <para>-</para>
  2142. <para>AppenderName이 없을 경우 loggerName을 AppenderName으로 세팅한다.</para>
  2143. <para>-</para>
  2144. <para>Additivity option</para>
  2145. <para>-</para>
  2146. </summary>
  2147. </member>
  2148. <member name="M:GSG.NET.Logging.LogUtils.RemoveAppender(System.String)">
  2149. <summary>
  2150. <para>RootLogger</para>
  2151. <para>-</para>
  2152. <para>1. RootLogger에서 Appender 제거함.</para>
  2153. <para>2. Close Appender</para>
  2154. </summary>
  2155. </member>
  2156. <member name="M:GSG.NET.Logging.LogUtils.RemoveAppender(System.String,System.String)">
  2157. <summary>
  2158. <para>Non-RootLogger</para>
  2159. <para>-</para>
  2160. <para>1. Logger에서 Appender 제거함.</para>
  2161. <para>2. Close Appender</para>
  2162. </summary>
  2163. </member>
  2164. <member name="T:GSG.NET.Quartz.CbTimer">
  2165. <summary>
  2166. Method callback timer
  2167. <para>Timer를 재사용하므로 CbTimer는 여러개 객체 최소화</para>
  2168. </summary>
  2169. </member>
  2170. <member name="M:GSG.NET.Quartz.CbTimer.#ctor">
  2171. <summary/>
  2172. </member>
  2173. <member name="M:GSG.NET.Quartz.CbTimer.Once(System.Action,System.Int32)">
  2174. <summary/>
  2175. </member>
  2176. <member name="M:GSG.NET.Quartz.CbTimer.Repeat(System.Action,System.Int32)">
  2177. <summary>
  2178. 이전 Timer가 동작중이면 Stop로직이 이미 포함되어 있음.
  2179. </summary>
  2180. </member>
  2181. <member name="M:GSG.NET.Quartz.CbTimer.Stop">
  2182. <summary/>
  2183. </member>
  2184. <member name="T:GSG.NET.Quartz.QuartzUtils">
  2185. <summary>
  2186. <para>Quartz Lib 구현 class</para>
  2187. <para>CronJob 특성때문에 화면 Thread로 변경하지 않는다.</para>
  2188. <para>호출 메서드에서 에러가 발생하면 내부적으로 로깅하여 Exception이 발생하지 않는다.</para>
  2189. <para>-</para>
  2190. <para>초단위</para>
  2191. <para>매초: * * * * * ?</para>
  2192. <para>5초: 0/5 * * * * ?</para>
  2193. <para>-</para>
  2194. <para>분단위</para>
  2195. <para>매분: 0 * * * * ?</para>
  2196. <para>5분: 0 0/5 * * * ?</para>
  2197. <para>-</para>
  2198. <para>시간단위</para>
  2199. <para>매시간: 0 0 * * * ?</para>
  2200. <para>2시간: 0 0 0/2 * * ?</para>
  2201. <para>-</para>
  2202. <para>일단위</para>
  2203. <para>매일 0시: 0 0 0 * * ?</para>
  2204. <para>-</para>
  2205. </summary>
  2206. </member>
  2207. <member name="M:GSG.NET.Quartz.QuartzUtils.Init(System.Int32)">
  2208. <summary>
  2209. <para>Quartz Factoy 생성</para>
  2210. <para>Argument threadcount는 quartz 수행 개수/2 정도 설정</para>
  2211. </summary>
  2212. </member>
  2213. <member name="M:GSG.NET.Quartz.QuartzUtils.GetExpnSecond(System.Int32)">
  2214. <summary>
  2215. <para>N 초마다 실행되는 expression</para>
  2216. <para>예제: 5초주기 실행 GetExpnSecond(5)</para>
  2217. <para>예제: 10초주기 실행 GetExpnSecond(10)</para>
  2218. </summary>
  2219. </member>
  2220. <member name="M:GSG.NET.Quartz.QuartzUtils.GetExpnMinute(System.Int32)">
  2221. <summary>
  2222. <para>N 분마다 실행되는 expression: GetExpnMinute(10)</para>
  2223. <para>예제: 5분주기 실행 GetExpnMinute(5)</para>
  2224. <para>예제: 10분주기 실행 GetExpnMinute(10)</para>
  2225. </summary>
  2226. </member>
  2227. <member name="M:GSG.NET.Quartz.QuartzUtils.GetExpnHour(System.Int32)">
  2228. <summary>
  2229. <para>N 시간마다 실행되는 expression</para>
  2230. <para>예제: 1시간 실행 GetExpnHour(1)</para>
  2231. <para>예제: 2시간 실행 GetExpnHour(2)</para>
  2232. </summary>
  2233. </member>
  2234. <member name="M:GSG.NET.Quartz.QuartzUtils.GetExpnDay(System.Int32,System.Int32,System.Int32)">
  2235. <summary>
  2236. <para>매일 특정시간</para>
  2237. <para>예제: 매일 1시 2분 3초에 실행 GetExpnDay(1,2,3)</para>
  2238. <para>예제: 매일 밤 12시 실행 GetExpnDay(0,0,0)</para>
  2239. </summary>
  2240. </member>
  2241. <member name="M:GSG.NET.Quartz.QuartzUtils.Invoke(System.String,System.String,System.Action)">
  2242. <summary>
  2243. <para>void 0 argement method를 수행한다.</para>
  2244. <para>CronExpression을 변경하고 싶을 경우 jobName 동일하게 expression만 변경하면 된다.</para>
  2245. </summary>
  2246. </member>
  2247. <member name="M:GSG.NET.Quartz.QuartzUtils.Invoke(System.String,Quartz.Trigger,System.Action)">
  2248. <summary>
  2249. <para>TriggerUtils를 이용하면 Trigger를 쉽게 만들수 있다.</para>
  2250. <para>-</para>
  2251. <para>예제: QuartzUtils.Invoke("2", TriggerUtils.MakeSecondlyTrigger(10), BBB);</para>
  2252. </summary>
  2253. </member>
  2254. <member name="M:GSG.NET.Quartz.QuartzUtils.StopSchedule(System.String)">
  2255. <summary>
  2256. <para>Stop Schedule</para>
  2257. </summary>
  2258. </member>
  2259. <member name="T:GSG.NET.Quartz.TimeInvokeUtils">
  2260. <summary>
  2261. <para>Timer를 함수로 바로 mapping하여 사용할 경우</para>
  2262. </summary>
  2263. </member>
  2264. <member name="M:GSG.NET.Quartz.TimeInvokeUtils.InvokeOnce(System.Int32,System.Action)">
  2265. <summary>
  2266. <para>한번만 호출됨</para>
  2267. <para>두번째 delegate는 argument가 없는 void 함수명 입력</para>
  2268. <para>e.g. TimerUtils.InvokeOnce(3000, InitHsms);</para>
  2269. </summary>
  2270. <param name="ms">milli-second</param>
  2271. <param name="method">void () target</param>
  2272. </member>
  2273. <member name="M:GSG.NET.Quartz.TimeInvokeUtils.InvokeRepeat(System.Int32,System.Action)">
  2274. <summary>
  2275. <para>지속적인 호출, stop기능은 없다</para>
  2276. <para>stop을 사용하려면 SimpleTimerTemplate, TimerTemplate를 사용함</para>
  2277. <para>두번째 delegate는 argument가 없는 void 함수명 입력</para>
  2278. <para>e.g. TimerUtils.InvokeRepeat(3000, InitHsms);</para>
  2279. </summary>
  2280. <param name="ms">milli-second</param>
  2281. <param name="method"></param>
  2282. </member>
  2283. <member name="T:GSG.NET.Quartz.TimerTemplate`2">
  2284. <summary/>
  2285. <typeparam name="TKey">id (string or int..)</typeparam>
  2286. <typeparam name="TAttch">OnTimeout attach object</typeparam>
  2287. </member>
  2288. <member name="T:GSG.NET.Quartz.TimerTemplate`2.TimeoutDelegate">
  2289. <summary/>
  2290. </member>
  2291. <member name="E:GSG.NET.Quartz.TimerTemplate`2.OnTimeout">
  2292. <summary/>
  2293. </member>
  2294. <member name="M:GSG.NET.Quartz.TimerTemplate`2.HasId(`0)">
  2295. <summary>
  2296. Check prev timer has or not
  2297. </summary>
  2298. </member>
  2299. <member name="M:GSG.NET.Quartz.TimerTemplate`2.StartOnce(System.Int32,`0,`1)">
  2300. <summary>
  2301. 1회 timer
  2302. <para>interval: millisecond</para>
  2303. <para>Attach 입력 객체는 OnTimeout invoke시 사용가능</para>
  2304. </summary>
  2305. </member>
  2306. <member name="M:GSG.NET.Quartz.TimerTemplate`2.StartRepeat(System.Int32,`0,`1)">
  2307. <summary>
  2308. 반복 timer
  2309. <para>interval: millisecond</para>
  2310. <para>Attach 입력 객체는 OnTimeout invoke시 사용가능</para>
  2311. </summary>
  2312. </member>
  2313. <member name="M:GSG.NET.Quartz.TimerTemplate`2.GetAttachment(`0)">
  2314. <summary/>
  2315. </member>
  2316. <member name="M:GSG.NET.Quartz.TimerTemplate`2.Stop(`0)">
  2317. <summary>
  2318. Stop timer
  2319. </summary>
  2320. </member>
  2321. <member name="M:GSG.NET.Quartz.TimerTemplate`2.StopAll">
  2322. <summary>
  2323. All timer stop
  2324. </summary>
  2325. </member>
  2326. <member name="T:GSG.NET.Quartz.TimerTemplate`2.Task">
  2327. <summary>
  2328. Timer 정보
  2329. </summary>
  2330. </member>
  2331. <member name="P:GSG.NET.Quartz.TimerTemplate`2.Task.MsTimer">
  2332. <summary>
  2333. Microsoft timer
  2334. </summary>
  2335. </member>
  2336. <member name="P:GSG.NET.Quartz.TimerTemplate`2.Task.Attch">
  2337. <summary>
  2338. attachment object
  2339. </summary>
  2340. </member>
  2341. <member name="T:GSG.NET.Quartz.TimerUtils">
  2342. <summary/>
  2343. </member>
  2344. <member name="M:GSG.NET.Quartz.TimerUtils.Repeat(System.Int32,System.Action)">
  2345. <summary/>
  2346. </member>
  2347. <member name="M:GSG.NET.Quartz.TimerUtils.Once(System.Int32,System.Action)">
  2348. <summary>
  2349. 무조건 새로운 timer 생성
  2350. <para>CbTimer와는 다름</para>
  2351. </summary>
  2352. </member>
  2353. <member name="M:GSG.NET.Quartz.TimerUtils.Once``1(System.Int32,System.Action{``0},``0)">
  2354. <summary/>
  2355. </member>
  2356. <member name="M:GSG.NET.Quartz.TimerUtils.Once``2(System.Int32,System.Action{``0,``1},``0,``1)">
  2357. <summary/>
  2358. </member>
  2359. <member name="T:GSG.NET.TCP.SocketTimeoutException">
  2360. <summary>
  2361. Socket timeout 발생시
  2362. </summary>
  2363. </member>
  2364. <member name="M:GSG.NET.TCP.SocketTimeoutException.#ctor(System.String)">
  2365. <summary/>
  2366. </member>
  2367. <member name="T:GSG.NET.TCP.Tcp4">
  2368. <summary>
  2369. <para>2016.06.15 최초 개발</para>
  2370. <para>default: BigEndian</para>
  2371. <para>MaxBufSize 추가 (2018.03)</para>
  2372. </summary>
  2373. </member>
  2374. <member name="P:GSG.NET.TCP.Tcp4.Comm">
  2375. <summary>
  2376. Tcp 연결정보
  2377. <para>-</para>
  2378. <para>기본값</para>
  2379. <para>T2: 30sec</para>
  2380. <para>T5: 5sec</para>
  2381. <para>T6: 10sec</para>
  2382. <para>Retry: infinite</para>
  2383. <para>Active: true</para>
  2384. </summary>
  2385. </member>
  2386. <member name="P:GSG.NET.TCP.Tcp4.Connected">
  2387. <summary>
  2388. tcp connect or not
  2389. <para>Sck == null이면 false</para>
  2390. </summary>
  2391. </member>
  2392. <member name="P:GSG.NET.TCP.Tcp4.LittleEndian">
  2393. <summary>
  2394. default: false, 즉 BigEndian default
  2395. </summary>
  2396. </member>
  2397. <member name="P:GSG.NET.TCP.Tcp4.MaxBufSize">
  2398. <summary>
  2399. Read 함수 호출시 invalid size 체크
  2400. <para>OutOfMemoryException로 인한 application 다운 방어코드</para>
  2401. <para>-</para>
  2402. <para>단위 byte</para>
  2403. <para>Default: 10485760(10mb)</para>
  2404. <para>해당 값보다 클경우 IOException 발생</para>
  2405. </summary>
  2406. </member>
  2407. <member name="P:GSG.NET.TCP.Tcp4.Sck">
  2408. <summary />
  2409. </member>
  2410. <member name="M:GSG.NET.TCP.Tcp4.#ctor">
  2411. <summary>
  2412. <para>TcpIp 통신 class</para>
  2413. <para>-</para>
  2414. <para>기본세팅값</para>
  2415. <para>BigEndian</para>
  2416. <para>MaxBufSize (10mb)</para>
  2417. </summary>
  2418. </member>
  2419. <member name="M:GSG.NET.TCP.Tcp4.ChgTimeout(System.Boolean)">
  2420. <summary>
  2421. T6 기준 infinite timeout 변경 or 원복
  2422. <para>OS 시간 변경으로 연결 종료 방지</para>
  2423. </summary>
  2424. </member>
  2425. <member name="M:GSG.NET.TCP.Tcp4.Clean">
  2426. <summary>
  2427. In buffer clear
  2428. </summary>
  2429. </member>
  2430. <member name="M:GSG.NET.TCP.Tcp4.Close">
  2431. <summary>
  2432. <para>close socket</para>
  2433. <para>Exception이 없다, 내부적으로 모두 처리함.</para>
  2434. </summary>
  2435. </member>
  2436. <member name="M:GSG.NET.TCP.Tcp4.DefSckOpt(System.Net.Sockets.TcpClient)">
  2437. <summary>
  2438. tcp socket option 설정
  2439. <para>NoDelay, LingerState, ReceiveTimeout</para>
  2440. </summary>
  2441. </member>
  2442. <member name="M:GSG.NET.TCP.Tcp4.Ignore(System.Int32)">
  2443. <summary>
  2444. 읽어서 버림.
  2445. </summary>
  2446. </member>
  2447. <member name="M:GSG.NET.TCP.Tcp4.Init">
  2448. <summary>
  2449. Client의 경우 Comm.Retry 회수 만큼 연결 시도후 함수 return 됨.
  2450. <para>BigEndian default</para>
  2451. </summary>
  2452. </member>
  2453. <member name="M:GSG.NET.TCP.Tcp4.KeepAlive(System.Single,System.Single)">
  2454. <summary>
  2455. KeepAlive 시도, 별도의 heart-beat 메시지 필요없음
  2456. <para>OS parameter 가 아닌 값 세팅 가능</para>
  2457. <para>idle 시간 동안 packet 수신이 없을 경우 자동 송신</para>
  2458. <para>-</para>
  2459. <para>초단위 데이터 대략 30정도 세팅 권장</para>
  2460. <para>interval 만큼 10회정도 시도</para>
  2461. </summary>
  2462. </member>
  2463. <member name="M:GSG.NET.TCP.Tcp4.Read(System.Int32)">
  2464. <summary>
  2465. size만큼 읽어 MemoryBuffer에 담고 Pos를 0으로 이동한다.
  2466. <para>-</para>
  2467. <para>TimeoutException catch 가능함</para>
  2468. <para>MaxBufSize 적용한 IOException 발생</para>
  2469. </summary>
  2470. </member>
  2471. <member name="M:GSG.NET.TCP.Tcp4.ReadInt(System.Int32,System.Boolean)">
  2472. <summary>
  2473. Int 변환
  2474. <para>LittleEndian property 를 이용하여 ByteOrder세팅이 가능함.</para>
  2475. <para>기본 양수만 반환</para>
  2476. <para>양,음수 지원을 위한 signed 설정</para>
  2477. </summary>
  2478. </member>
  2479. <member name="M:GSG.NET.TCP.Tcp4.ReadTo(System.Byte)">
  2480. <summary>
  2481. <para>ETX 까지 읽는 경우.</para>
  2482. <para>etx 는 포함되지 않음</para>
  2483. <para>in stream 에서 etx 까지 읽음</para>
  2484. <para>-</para>
  2485. <para>TimeoutException catch 가능함</para>
  2486. </summary>
  2487. </member>
  2488. <member name="M:GSG.NET.TCP.Tcp4.Send(System.IO.Stream)">
  2489. <summary>
  2490. source 데이터 Tcp 에 write
  2491. <para>Read 사용불가, Stream 의 끝을 잘 모름</para>
  2492. </summary>
  2493. </member>
  2494. <member name="M:GSG.NET.TCP.Tcp4.Send(GSG.NET.Utils.MemoryBuffer)">
  2495. <summary>
  2496. MemoryBuffer Position 관계 없이 모든 데이터 write
  2497. </summary>
  2498. </member>
  2499. <member name="M:GSG.NET.TCP.Tcp4.Send(System.Byte[])">
  2500. <summary />
  2501. </member>
  2502. <member name="M:GSG.NET.TCP.Tcp4.Send(System.Int32)">
  2503. <summary>
  2504. int 4 byte send
  2505. <para>LittleEndian property flag 에 따라 자동 변환</para>
  2506. <para>최대한 MemoryBuffer를 활용한 send 방식으로 구현하며 사용 최소화</para>
  2507. </summary>
  2508. </member>
  2509. <member name="T:GSG.NET.TCP.TcpComm">
  2510. <summary>
  2511. <para>T2: 30</para>
  2512. <para>T6: 10</para>
  2513. </summary>
  2514. </member>
  2515. <member name="P:GSG.NET.TCP.TcpComm.Active">
  2516. <summary>
  2517. def: true, client mode
  2518. </summary>
  2519. </member>
  2520. <member name="P:GSG.NET.TCP.TcpComm.Ip">
  2521. <summary/>
  2522. </member>
  2523. <member name="P:GSG.NET.TCP.TcpComm.PortNo">
  2524. <summary/>
  2525. </member>
  2526. <member name="P:GSG.NET.TCP.TcpComm.RollCnt">
  2527. <summary>
  2528. <para>def: 1, not rolling</para>
  2529. </summary>
  2530. </member>
  2531. <member name="P:GSG.NET.TCP.TcpComm.RetryCnt">
  2532. <summary>
  2533. def: int.MaxValue
  2534. </summary>
  2535. </member>
  2536. <member name="P:GSG.NET.TCP.TcpComm.T2">
  2537. <summary>
  2538. 연결 요청 시간
  2539. <para>second</para>
  2540. <para>def: 30</para>
  2541. <para>-</para>
  2542. <para>Lan2개 무선 AP의 경우 10초 이상 경우를 보정하기위해 30초 기본값</para>
  2543. </summary>
  2544. </member>
  2545. <member name="P:GSG.NET.TCP.TcpComm.T5">
  2546. <summary>
  2547. second
  2548. <para>연결시도 후 다음 연결시 까지 쉬는 시간</para>
  2549. <para>def: 5</para>
  2550. </summary>
  2551. </member>
  2552. <member name="P:GSG.NET.TCP.TcpComm.T6">
  2553. <summary>
  2554. socket timeout
  2555. <para>연결후 socket read timeout 설정 시간</para>
  2556. <para>-</para>
  2557. <para>def: 10 second</para>
  2558. </summary>
  2559. </member>
  2560. <member name="M:GSG.NET.TCP.TcpComm.#ctor">
  2561. <summary/>
  2562. </member>
  2563. <member name="P:GSG.NET.TCP.TcpComm.Ipe">
  2564. <summary>
  2565. ip, port를 기준으로 IPEndPoint 가져옴.
  2566. </summary>
  2567. </member>
  2568. <member name="T:GSG.NET.TCP.TcpConnector">
  2569. <summary>
  2570. <para>Tcp 연결</para>
  2571. <para>Tcp Access</para>
  2572. <para>-</para>
  2573. </summary>
  2574. </member>
  2575. <member name="E:GSG.NET.TCP.TcpConnector.OnTcpStateChanged">
  2576. <summary>
  2577. <para>Tcp 수행 Log</para>
  2578. </summary>
  2579. </member>
  2580. <member name="P:GSG.NET.TCP.TcpConnector.Port">
  2581. <summary>
  2582. tcp port
  2583. </summary>
  2584. </member>
  2585. <member name="P:GSG.NET.TCP.TcpConnector.IpAddress">
  2586. <summary>
  2587. tcp ip
  2588. </summary>
  2589. </member>
  2590. <member name="M:GSG.NET.TCP.TcpConnector.Connect(GSG.NET.TCP.TcpComm)">
  2591. <summary>
  2592. TcpComm 객체를 이용한 연결.
  2593. </summary>
  2594. </member>
  2595. <member name="M:GSG.NET.TCP.TcpConnector.WriteBeInt(System.Int32)">
  2596. <summary>
  2597. <para>Write Big Endian Int32</para>
  2598. </summary>
  2599. </member>
  2600. <member name="M:GSG.NET.TCP.TcpConnector.WriteAscii(System.String)">
  2601. <summary>
  2602. <para>Write string data</para>
  2603. <para>Encoding.ASCII</para>
  2604. </summary>
  2605. </member>
  2606. <member name="M:GSG.NET.TCP.TcpConnector.WriteAscii(System.String,System.Text.Encoding)">
  2607. <summary>
  2608. <para>write string data</para>
  2609. </summary>
  2610. </member>
  2611. <member name="M:GSG.NET.TCP.TcpConnector.WriteFlush(System.Byte[])">
  2612. <summary>
  2613. <para>write and flush one time</para>
  2614. </summary>
  2615. </member>
  2616. <member name="M:GSG.NET.TCP.TcpConnector.WriteFlush(System.Byte[],System.Int32,System.Int32)">
  2617. <summary>
  2618. <para>write and flush one time</para>
  2619. </summary>
  2620. <param name="bs"></param>
  2621. <param name="offset">시작점</param>
  2622. <param name="size"></param>
  2623. </member>
  2624. <member name="M:GSG.NET.TCP.TcpConnector.CleanIn">
  2625. <summary>
  2626. In buffer clear
  2627. </summary>
  2628. </member>
  2629. <member name="M:GSG.NET.TCP.TcpConnector.Read1Byte">
  2630. <summary>
  2631. 1 바이트를 읽는다. int로 받는다.
  2632. </summary>
  2633. </member>
  2634. <member name="M:GSG.NET.TCP.TcpConnector.ReadByte">
  2635. <summary>
  2636. 1 바이트를 읽는다. byte로 받는다.
  2637. </summary>
  2638. </member>
  2639. <member name="M:GSG.NET.TCP.TcpConnector.ReadBytes(System.Int32)">
  2640. <summary>
  2641. blocking read
  2642. </summary>
  2643. <param name="size">byte size</param>
  2644. </member>
  2645. <member name="M:GSG.NET.TCP.TcpConnector.ReadBuf(System.Int32)">
  2646. <summary>
  2647. ReadBytes+MemoryBuffer + PosChange(0)
  2648. </summary>
  2649. </member>
  2650. <member name="M:GSG.NET.TCP.TcpConnector.ReadUntil(System.Byte)">
  2651. <summary>
  2652. <para>NewLine, ETX까지 읽는 경우.</para>
  2653. <para>b는 포함되지 않음</para>
  2654. <para>in stream에서 b 까지 읽음</para>
  2655. <para>-</para>
  2656. <para>ReadLine의 경우 0x0d(\r), 0x0a(\n)</para>
  2657. <para>Encoding.ASCII</para>
  2658. </summary>
  2659. </member>
  2660. <member name="M:GSG.NET.TCP.TcpConnector.ReadUntilAscii(System.Byte)">
  2661. <summary>
  2662. <para>NewLine, ETX까지 읽는 경우.</para>
  2663. <para>b는 포함되지 않음</para>
  2664. <para>1. in stream에서 b 까지 읽음</para>
  2665. <para>2. 0x00 -> 0x20</para>
  2666. <para>3. Encoding.ASCII string으로 추출함</para>
  2667. <para>-</para>
  2668. <para>ReadLine의 경우 0x0d(\r), 0x0a(\n)</para>
  2669. </summary>
  2670. </member>
  2671. <member name="M:GSG.NET.TCP.TcpConnector.ReadAscii(System.Int32)">
  2672. <summary>
  2673. <para>blocking read</para>
  2674. <para>0x00 -> 0x20</para>
  2675. <para>byte array를 Encoding.ASCII을 통해 string 변환</para>
  2676. </summary>
  2677. <param name="size">byte size</param>
  2678. </member>
  2679. <member name="M:GSG.NET.TCP.TcpConnector.ReadAscii(System.Int32,System.Text.Encoding)">
  2680. <summary>
  2681. <para>blocking read</para>
  2682. <para>0x00 -> 0x20</para>
  2683. <para>byte array를 Encoding.GetString을 통해 string 변환</para>
  2684. </summary>
  2685. <param name="size">byte size</param>
  2686. <param name="encoding">ascii encoding</param>
  2687. </member>
  2688. <member name="M:GSG.NET.TCP.TcpConnector.ReadLeUshort">
  2689. <summary>
  2690. <para>little endian read 2 byte ushort</para>
  2691. <para>1 0</para>
  2692. </summary>
  2693. </member>
  2694. <member name="M:GSG.NET.TCP.TcpConnector.ReadLeShort">
  2695. <summary>
  2696. little endian read 2 byte short
  2697. </summary>
  2698. </member>
  2699. <member name="M:GSG.NET.TCP.TcpConnector.ReadLeInt">
  2700. <summary>
  2701. little endian read 4 byte int
  2702. </summary>
  2703. </member>
  2704. <member name="M:GSG.NET.TCP.TcpConnector.ReadBeShort">
  2705. <summary>
  2706. big endian read 2 byte short
  2707. </summary>
  2708. </member>
  2709. <member name="M:GSG.NET.TCP.TcpConnector.ReadBeUshort">
  2710. <summary>
  2711. big endian read 2 byte ushort
  2712. </summary>
  2713. </member>
  2714. <member name="M:GSG.NET.TCP.TcpConnector.ReadBeInt">
  2715. <summary>
  2716. Read 0 0 0 1 Big endian 4 byte integer
  2717. </summary>
  2718. </member>
  2719. <member name="P:GSG.NET.TCP.TcpConnector.IPClient">
  2720. <summary>
  2721. ip, port를 기준으로 IPEndPoint 가져옴.
  2722. </summary>
  2723. </member>
  2724. <member name="P:GSG.NET.TCP.TcpConnector.EpRemote">
  2725. <summary>
  2726. <para>TryListen일 경우 접속정보.</para>
  2727. </summary>
  2728. </member>
  2729. <member name="P:GSG.NET.TCP.TcpConnector.Connected">
  2730. <summary>
  2731. tcp connect or not
  2732. </summary>
  2733. </member>
  2734. <member name="M:GSG.NET.TCP.TcpConnector.StopListen">
  2735. <summary>
  2736. <para>연결이 완료되면 자동 stop listen을 하므로</para>
  2737. <para>이 메소드는 listening중에 listen을 멈추게 하는 동작이다.</para>
  2738. </summary>
  2739. </member>
  2740. <member name="M:GSG.NET.TCP.TcpConnector.TryToListen">
  2741. <summary>
  2742. <para>server socket listen</para>
  2743. <para>OnTcpStateChanged로 state 추적 가능</para>
  2744. <para>TcpConnector는 연결하나에 대해 read, write를 하기 때문에</para>
  2745. <para>연결이 되면 Listen 동작을 stop한다.</para>
  2746. </summary>
  2747. </member>
  2748. <member name="P:GSG.NET.TCP.TcpConnector.Socket">
  2749. <summary>
  2750. Connected Socket object
  2751. </summary>
  2752. </member>
  2753. <member name="P:GSG.NET.TCP.TcpConnector.Available">
  2754. <summary/>
  2755. </member>
  2756. <member name="M:GSG.NET.TCP.TcpConnector.TryToConnect(System.Int32)">
  2757. <summary>
  2758. Tcp connect
  2759. </summary>
  2760. <param name="sleep_ms">connect fail sleep milli-second interval</param>
  2761. </member>
  2762. <member name="M:GSG.NET.TCP.TcpConnector.TryToConnect(System.Int32,System.Int32)">
  2763. <summary>
  2764. sync connect
  2765. </summary>
  2766. <param name="retryCount">connect retry count</param>
  2767. <param name="sleep_ms">connect fail sleep milli-second interval</param>
  2768. </member>
  2769. <member name="M:GSG.NET.TCP.TcpConnector.SetTcpClient(System.Net.Sockets.TcpClient)">
  2770. <summary>
  2771. NoDelayBinaryStream를 호출한 다음에 연결여부 Connected를 체크할수 있다.
  2772. </summary>
  2773. </member>
  2774. <member name="M:GSG.NET.TCP.TcpConnector.TryOneConnect">
  2775. <summary>
  2776. <para>HsmsManager의 T5처리 connection logging처리를 위해 추가됨.</para>
  2777. <para>한번만 Try하며 OnTcpStateChanged를 통해 수행 동작을 Logging이 가능하다.</para>
  2778. </summary>
  2779. </member>
  2780. <member name="M:GSG.NET.TCP.TcpConnector.TryOnceConnectUntilTimeout(System.Int32)">
  2781. <summary>
  2782. <para>Timeout 시간만 연결 한번 시도.</para>
  2783. <para>-</para>
  2784. <para>연결 여부는 Connected로 체크한다.</para>
  2785. <para>-</para>
  2786. <para>연결 성공: 50ms이내로 연결이 완료된다.</para>
  2787. <para>-</para>
  2788. <para>연결실패</para>
  2789. <para>Case1</para>
  2790. <para>IpAddress 찾기 성공했지만 Listen을 하고있지 않는 경우</para>
  2791. <para>1초 정도 시간이 걸리며 conn_timeout을 10초로 세팅한 경우에도 1-2초 후에 연결실패처리를 한다.</para>
  2792. <para>-</para>
  2793. <para>Case2</para>
  2794. <para>IpAddress 찾기 실패</para>
  2795. <para>conn_timeout만큼 시도를 하고 연결실패 처리를 한다.</para>
  2796. </summary>
  2797. <param name="timeout">millisecond</param>
  2798. </member>
  2799. <member name="M:GSG.NET.TCP.TcpConnector.ChangeRecvTimeout(System.Int32)">
  2800. <summary>
  2801. <para>change socket receive timeout</para>
  2802. </summary>
  2803. <param name="ms">milli-second</param>
  2804. </member>
  2805. <member name="M:GSG.NET.TCP.TcpConnector.ChangeTimeout(System.Int32)">
  2806. <summary>
  2807. Change send, recd timeout both
  2808. </summary>
  2809. </member>
  2810. <member name="M:GSG.NET.TCP.TcpConnector.CloseSocket">
  2811. <summary>
  2812. <para>close socket</para>
  2813. <para>Exception이 없다, 내부적으로 모두 처리함.</para>
  2814. </summary>
  2815. </member>
  2816. <member name="T:GSG.NET.TCP.TcpUtils">
  2817. <summary>
  2818. </summary>
  2819. </member>
  2820. <member name="M:GSG.NET.TCP.TcpUtils.GetTcpErrMsg(System.Exception)">
  2821. <summary>
  2822. <para>IOException: Message</para>
  2823. <para>SocketException: WSAE and InnerException Message</para>
  2824. </summary>
  2825. </member>
  2826. <member name="M:GSG.NET.TCP.TcpUtils.GetTcpErrMsg(System.Net.EndPoint,System.Exception)">
  2827. <summary>
  2828. <para>IOException: Message</para>
  2829. <para>SocketException: WSAE and InnerException Message</para>
  2830. </summary>
  2831. </member>
  2832. <member name="M:GSG.NET.TCP.TcpUtils.MakeWsaeMsg(System.String,System.Net.Sockets.SocketException)">
  2833. <summary>
  2834. WSAE: Windows Socket Application Exception
  2835. </summary>
  2836. </member>
  2837. <member name="T:GSG.NET.Utils.AppUtils">
  2838. <summary/>
  2839. </member>
  2840. <member name="P:GSG.NET.Utils.AppUtils.DevSvcMode">
  2841. <summary>
  2842. service develop(debug) mode check
  2843. <para>Environment.UserInteractive</para>
  2844. </summary>
  2845. </member>
  2846. <member name="P:GSG.NET.Utils.AppUtils.DevMode">
  2847. <summary>
  2848. develop(debug) mode check
  2849. <para>Debugger.IsAttached</para>
  2850. </summary>
  2851. </member>
  2852. <member name="M:GSG.NET.Utils.AppUtils.LogGlobalException">
  2853. <summary>
  2854. Logging UI, UnhandledException.
  2855. </summary>
  2856. </member>
  2857. <member name="M:GSG.NET.Utils.AppUtils.IsFindWindow(System.String)">
  2858. <summary/>
  2859. </member>
  2860. <member name="M:GSG.NET.Utils.AppUtils.ShowWindow(System.String)">
  2861. <summary/>
  2862. </member>
  2863. <member name="M:GSG.NET.Utils.AppUtils.HideWindow(System.String)">
  2864. <summary/>
  2865. </member>
  2866. <member name="M:GSG.NET.Utils.AppUtils.SendCloseMessageByTitle(System.String)">
  2867. <summary>
  2868. <para>Title을 이용한 종료.</para>
  2869. </summary>
  2870. </member>
  2871. <member name="M:GSG.NET.Utils.AppUtils.SendCloseMessage(System.IntPtr)">
  2872. <summary>
  2873. <para>Handle을 이용한 종료.</para>
  2874. </summary>
  2875. </member>
  2876. <member name="M:GSG.NET.Utils.AppUtils.SendCloseMessage(System.String)">
  2877. <summary>
  2878. <para>ProcessName을 이용한 종료 .exe는 생략해야함.</para>
  2879. </summary>
  2880. </member>
  2881. <member name="M:GSG.NET.Utils.AppUtils.DisableCloseButton(System.Windows.Forms.Form)">
  2882. <summary/>
  2883. </member>
  2884. <member name="T:GSG.NET.Utils.AssemblyUtils">
  2885. <summary>
  2886. Assembly reflection utils class
  2887. </summary>
  2888. </member>
  2889. <member name="M:GSG.NET.Utils.AssemblyUtils.ReadEmbedded(System.Reflection.Assembly,System.String,System.Text.Encoding)">
  2890. <summary>
  2891. Assembly의 Embedded resource읽어오기
  2892. </summary>
  2893. </member>
  2894. <member name="M:GSG.NET.Utils.AssemblyUtils.EmbedResRead(System.Reflection.Assembly,System.String,System.Text.Encoding)">
  2895. <summary>
  2896. Assembly의 Embedded resource읽어오기
  2897. </summary>
  2898. </member>
  2899. <member name="M:GSG.NET.Utils.AssemblyUtils.EmbedResCopy(System.Reflection.Assembly,System.String,System.String)">
  2900. <summary>
  2901. Embed resource copy to some file
  2902. </summary>
  2903. </member>
  2904. <member name="M:GSG.NET.Utils.AssemblyUtils.BuildDate(System.Reflection.Assembly)">
  2905. <summary/>
  2906. </member>
  2907. <member name="M:GSG.NET.Utils.AssemblyUtils.BuildDate(System.Type)">
  2908. <summary/>
  2909. </member>
  2910. <member name="M:GSG.NET.Utils.AssemblyUtils.IsNullableType(System.Type)">
  2911. <summary>
  2912. Nullable or not
  2913. </summary>
  2914. </member>
  2915. <member name="M:GSG.NET.Utils.AssemblyUtils.IsPublicProperty(System.Type,System.String)">
  2916. <summary>
  2917. public property or not
  2918. </summary>
  2919. </member>
  2920. <member name="M:GSG.NET.Utils.AssemblyUtils.IsPublicMethod(System.Type,System.String)">
  2921. <summary>
  2922. public method or not
  2923. </summary>
  2924. </member>
  2925. <member name="P:GSG.NET.Utils.AssemblyUtils.FlowareVersion">
  2926. <summary>
  2927. get Floware version info.
  2928. </summary>
  2929. </member>
  2930. <member name="M:GSG.NET.Utils.AssemblyUtils.GetVersion">
  2931. <summary>
  2932. <para>호출자의 Version 정보 display</para>
  2933. </summary>
  2934. </member>
  2935. <member name="M:GSG.NET.Utils.AssemblyUtils.GetVersion(System.Object)">
  2936. <summary>
  2937. get version some assembly or class
  2938. </summary>
  2939. </member>
  2940. <member name="M:GSG.NET.Utils.AssemblyUtils.GetDescription(System.Object)">
  2941. <summary>
  2942. get description assembly
  2943. </summary>
  2944. </member>
  2945. <member name="M:GSG.NET.Utils.AssemblyUtils.ToString(System.Object,System.String[])">
  2946. <summary>
  2947. <para>SPACE ToString utils.</para>
  2948. <para>ClassName, Propertys</para>
  2949. </summary>
  2950. <param name="me">this</param>
  2951. <param name="ignores">case sensitive, asterix(*) support</param>
  2952. </member>
  2953. <member name="M:GSG.NET.Utils.AssemblyUtils.ToNewLineString(System.Object,System.String[])">
  2954. <summary>
  2955. <para>NEWLINE ToString utils.</para>
  2956. <para>ClassName, Propertys</para>
  2957. </summary>
  2958. <param name="me">this</param>
  2959. <param name="ignores">case sensitive, asterix(*) support</param>
  2960. </member>
  2961. <member name="M:GSG.NET.Utils.AssemblyUtils.PropValue(System.Object,System.String)">
  2962. <summary>
  2963. </summary>
  2964. </member>
  2965. <member name="M:GSG.NET.Utils.AssemblyUtils.GetPropsPublic(System.Type)">
  2966. <summary>
  2967. <para>public property array</para>
  2968. </summary>
  2969. </member>
  2970. <member name="M:GSG.NET.Utils.AssemblyUtils.GetProps(System.Type)">
  2971. <summary>
  2972. <para>Public, NonPublic property array</para>
  2973. </summary>
  2974. </member>
  2975. <member name="M:GSG.NET.Utils.AssemblyUtils.GetChgdProp(System.Object,System.Object)">
  2976. <summary>
  2977. src, dest의 값이 변한 값들 추출하는 함수.
  2978. </summary>
  2979. <param name="src"></param>
  2980. <param name="dest"></param>
  2981. <returns>PropName, DestValue dictionary</returns>
  2982. </member>
  2983. <member name="M:GSG.NET.Utils.AssemblyUtils.GetClsName(System.Object)">
  2984. <summary/>
  2985. </member>
  2986. <member name="M:GSG.NET.Utils.AssemblyUtils.GetClsFullName(System.Object)">
  2987. <summary/>
  2988. </member>
  2989. <member name="M:GSG.NET.Utils.AssemblyUtils.GetConstName(System.Type,System.Object)">
  2990. <summary>
  2991. <para>const value를 이용하여 const name을 추출함.</para>
  2992. <para>읽기 쉬운 name을 추출함.</para>
  2993. <para>Public const만 추출 가능함.</para>
  2994. </summary>
  2995. </member>
  2996. <member name="M:GSG.NET.Utils.AssemblyUtils.Invoke(System.Object,System.String,System.Object[])">
  2997. <summary>
  2998. <para>public method reflection invoke</para>
  2999. </summary>
  3000. </member>
  3001. <member name="T:GSG.NET.Utils.Assert">
  3002. <summary>
  3003. <para>Assert Class</para>
  3004. </summary>
  3005. </member>
  3006. <member name="M:GSG.NET.Utils.Assert.AreEqual(System.Object,System.Object,System.String,System.Object[])">
  3007. <summary>
  3008. <para>objA와 objB는 Equals로 비교할 경우 True이어야 함.</para>
  3009. </summary>
  3010. </member>
  3011. <member name="M:GSG.NET.Utils.Assert.AreNotEqual(System.Object,System.Object,System.String,System.Object[])">
  3012. <summary>
  3013. <para>objA와 objB는 Equals로 비교할 경우 False이어야 함.</para>
  3014. </summary>
  3015. </member>
  3016. <member name="M:GSG.NET.Utils.Assert.NotNull(System.Object,System.String,System.Object[])">
  3017. <summary>
  3018. <para>null이면 안됨</para>
  3019. </summary>
  3020. </member>
  3021. <member name="M:GSG.NET.Utils.Assert.IsNull(System.Object,System.String,System.Object[])">
  3022. <summary>
  3023. <para>반드시 null 이어야 함.</para>
  3024. </summary>
  3025. </member>
  3026. <member name="M:GSG.NET.Utils.Assert.IsFalse(System.Boolean,System.String,System.Object[])">
  3027. <summary>
  3028. <para>반드시 false이어야 함</para>
  3029. </summary>
  3030. </member>
  3031. <member name="M:GSG.NET.Utils.Assert.IsTrue(System.Boolean,System.String,System.Object[])">
  3032. <summary>
  3033. <para>반드시 true이어야 함.</para>
  3034. </summary>
  3035. </member>
  3036. <member name="M:GSG.NET.Utils.Assert.Fail(System.String,System.Object[])">
  3037. <summary>
  3038. <para>fail처리</para>
  3039. </summary>
  3040. </member>
  3041. <member name="T:GSG.NET.Utils.AssertException">
  3042. <summary>
  3043. GSG.NET. Assert처리를 위한 AssertException
  3044. </summary>
  3045. </member>
  3046. <member name="M:GSG.NET.Utils.AssertException.#ctor">
  3047. <summary>
  3048. </summary>
  3049. </member>
  3050. <member name="M:GSG.NET.Utils.AssertException.#ctor(System.String)">
  3051. <summary>
  3052. </summary>
  3053. <param name="message"></param>
  3054. </member>
  3055. <member name="T:GSG.NET.Utils.BitUtils">
  3056. <summary>
  3057. <para>ReplaceNullToSpace(byte[] bs)</para>
  3058. <para>ReplaceNonAsciiToSpace(byte[] bs)</para>
  3059. <para>byte[] ChangeBitArray(int intV)</para>
  3060. <para>ChgBitString</para>
  3061. </summary>
  3062. </member>
  3063. <member name="M:GSG.NET.Utils.BitUtils.ReplaceNullToSpace(System.Byte[])">
  3064. <summary>
  3065. 0x00 -> 0x20
  3066. </summary>
  3067. <param name="bs"></param>
  3068. </member>
  3069. <member name="M:GSG.NET.Utils.BitUtils.ReplaceNonAsciiToSpace(System.Byte[])">
  3070. <summary>
  3071. ascii code !(0x20 ~ 0x7f) -> 0x20
  3072. </summary>
  3073. </member>
  3074. <member name="M:GSG.NET.Utils.BitUtils.ChgString(System.Int32,System.Int32)">
  3075. <summary>
  3076. int -> bit string
  3077. <para>length padright or substring</para>
  3078. </summary>
  3079. </member>
  3080. <member name="M:GSG.NET.Utils.BitUtils.ChgString(System.Int32)">
  3081. <summary>
  3082. int -> bit string
  3083. </summary>
  3084. </member>
  3085. <member name="M:GSG.NET.Utils.BitUtils.ChgInt32(System.String)">
  3086. <summary>
  3087. bit string -> int
  3088. <para>e.g. 00000000000000000000000000000011 -> 3</para>
  3089. </summary>
  3090. </member>
  3091. <member name="M:GSG.NET.Utils.BitUtils.ChgBytes(System.Int32)">
  3092. <summary>
  3093. <para>int -> byte array</para>
  3094. <para>e.g. 3 -> 00000000000000000000000000000011</para>
  3095. </summary>
  3096. </member>
  3097. <member name="M:GSG.NET.Utils.BitUtils.ChgBytes(System.Int16)">
  3098. <summary>
  3099. <para>int -> byte array</para>
  3100. <para>e.g. 3 -> 0000000000000011</para>
  3101. </summary>
  3102. </member>
  3103. <member name="M:GSG.NET.Utils.BitUtils.ChgBytes(System.Collections.BitArray)">
  3104. <summary>
  3105. BitArray -> byte array
  3106. </summary>
  3107. </member>
  3108. <member name="M:GSG.NET.Utils.BitUtils.ChgBitArray(System.Int32)">
  3109. <summary>
  3110. int -> BitArray(32)
  3111. </summary>
  3112. </member>
  3113. <member name="M:GSG.NET.Utils.BitUtils.ChgBitArray(System.Byte[])">
  3114. <summary>
  3115. Byte array -> BitArray
  3116. </summary>
  3117. </member>
  3118. <member name="M:GSG.NET.Utils.BitUtils.ChgInt32(System.Collections.BitArray)">
  3119. <summary>
  3120. BitArray to int
  3121. </summary>
  3122. </member>
  3123. <member name="M:GSG.NET.Utils.BitUtils.Enlarge8(System.Byte[])">
  3124. <summary>
  3125. <para>arg bytes를 bit format으로 8배 확장하여 byte array 구성</para>
  3126. </summary>
  3127. </member>
  3128. <member name="T:GSG.NET.Utils.CharsetUtils">
  3129. <summary>
  3130. Ascii &lt;-&gt; byte[]
  3131. </summary>
  3132. </member>
  3133. <member name="F:GSG.NET.Utils.CharsetUtils.CODE_PAGE_KOREAN">
  3134. <summary/>
  3135. </member>
  3136. <member name="F:GSG.NET.Utils.CharsetUtils.CODE_PAGE_EUC_KR">
  3137. <summary/>
  3138. </member>
  3139. <member name="F:GSG.NET.Utils.CharsetUtils.CODE_PAGE_ISO_8859_1">
  3140. <summary>
  3141. western european
  3142. </summary>
  3143. </member>
  3144. <member name="F:GSG.NET.Utils.CharsetUtils.CODE_PAGE_UTF8">
  3145. <summary/>
  3146. </member>
  3147. <member name="F:GSG.NET.Utils.CharsetUtils.CODE_PAGE_UTF16">
  3148. <summary/>
  3149. </member>
  3150. <member name="F:GSG.NET.Utils.CharsetUtils.CODE_PAGE_SHIFT_JIS">
  3151. <summary/>
  3152. </member>
  3153. <member name="F:GSG.NET.Utils.CharsetUtils.CODE_PAGE_CHINESE_1">
  3154. <summary>
  3155. 중국어 간체(GB2312)"
  3156. </summary>
  3157. </member>
  3158. <member name="M:GSG.NET.Utils.CharsetUtils.Change(System.String)">
  3159. <summary>
  3160. <para>string -> byte[]</para>
  3161. <para>Gets an encoding for the ASCII (7-bit) character set.</para>
  3162. </summary>
  3163. </member>
  3164. <member name="M:GSG.NET.Utils.CharsetUtils.Change(System.String,System.Text.Encoding)">
  3165. <summary>
  3166. <para>string -> byte[]</para>
  3167. </summary>
  3168. </member>
  3169. <member name="M:GSG.NET.Utils.CharsetUtils.Change(System.String,System.Int32)">
  3170. <summary>
  3171. Encode Code를 이용한 변경
  3172. </summary>
  3173. </member>
  3174. <member name="M:GSG.NET.Utils.CharsetUtils.Change(System.Byte[])">
  3175. <summary>
  3176. <para>byte[] -> string</para>
  3177. <para>Gets string for the ASCII (7-bit) character set.</para>
  3178. </summary>
  3179. </member>
  3180. <member name="M:GSG.NET.Utils.CharsetUtils.Change(System.Byte[],System.Text.Encoding)">
  3181. <summary>
  3182. <para>Ascii이므로 0x00 -> 0x20 기능 포함.</para>
  3183. <para>byte[] -> string</para>
  3184. </summary>
  3185. </member>
  3186. <member name="M:GSG.NET.Utils.CharsetUtils.Change(System.Byte[],System.Int32)">
  3187. <summary>
  3188. Encode Code를 이용한 변경
  3189. </summary>
  3190. </member>
  3191. <member name="T:GSG.NET.Utils.ChksumUtils">
  3192. <summary/>
  3193. </member>
  3194. <member name="F:GSG.NET.Utils.ChksumUtils.POLY_16_IBM">
  3195. <summary/>
  3196. </member>
  3197. <member name="M:GSG.NET.Utils.ChksumUtils.Crc16IBM(System.UInt16[],System.Int32,System.Byte[])">
  3198. <summary>
  3199. <para>CRC16 IBM.</para>
  3200. <para>Polynomial: x^16 + x^15 + x^2 + 1 (0xa001)</para>
  3201. <para>-</para>
  3202. <para>Modbus Crc16</para>
  3203. <para>GenTable(POLY_16_IBM)</para>
  3204. <para>initCrcV(0xffff)</para>
  3205. </summary>
  3206. <param name="table"></param>
  3207. <param name="initCrcV"></param>
  3208. <param name="bs"></param>
  3209. </member>
  3210. <member name="M:GSG.NET.Utils.ChksumUtils.Crc8(System.Byte[],System.Byte[])">
  3211. <summary>
  3212. <para>CRC8 = 0xd5, CRC8_CCITT = 0x07, CRC8_DALLAS_MAXIM = 0x31, CRC8_SAE_J1850 = 0x1D, CRC_8_WCDMA = 0x9b,</para>
  3213. </summary>
  3214. </member>
  3215. <member name="M:GSG.NET.Utils.ChksumUtils.Crc8GenTable(System.Int32)">
  3216. <summary>
  3217. x8 + x7 + x6 + x4 + x2 + 1
  3218. const byte poly = 0xd5;
  3219. </summary>
  3220. </member>
  3221. <member name="M:GSG.NET.Utils.ChksumUtils.Crc16GenTable(System.Int32)">
  3222. <summary>
  3223. <para>CRC16 IBM:Polynomial: x^16 + x^15 + x^2 + 1 (0xa001)</para>
  3224. </summary>
  3225. <param name="poly"></param>
  3226. </member>
  3227. <member name="T:GSG.NET.Utils.ConstUtils">
  3228. <summary>
  3229. Floware const data
  3230. </summary>
  3231. </member>
  3232. <member name="F:GSG.NET.Utils.ConstUtils.ONE_KILO_BYTES">
  3233. <summary>
  3234. 1024
  3235. </summary>
  3236. </member>
  3237. <member name="F:GSG.NET.Utils.ConstUtils.ONE_MEGA_BYTES">
  3238. <summary>
  3239. 1024 * ONE_KILO_BYTES;
  3240. </summary>
  3241. </member>
  3242. <member name="F:GSG.NET.Utils.ConstUtils.ONE_GIGA_BYTES">
  3243. <summary>
  3244. 1024 * ONE_MEGA_BYTES;
  3245. </summary>
  3246. </member>
  3247. <member name="F:GSG.NET.Utils.ConstUtils.ONE_SECOND">
  3248. <summary>
  3249. 1000 ms
  3250. </summary>
  3251. </member>
  3252. <member name="F:GSG.NET.Utils.ConstUtils.ONE_MINUTE">
  3253. <summary>
  3254. 60 * ONE_SECOND;
  3255. </summary>
  3256. </member>
  3257. <member name="F:GSG.NET.Utils.ConstUtils.ONE_HOUR">
  3258. <summary>
  3259. 60 * ONE_MINUTE;
  3260. </summary>
  3261. </member>
  3262. <member name="F:GSG.NET.Utils.ConstUtils.ONE_DAY">
  3263. <summary>
  3264. 24 * ONE_HOUR;
  3265. </summary>
  3266. </member>
  3267. <member name="F:GSG.NET.Utils.ConstUtils.ONE_WEEK">
  3268. <summary>
  3269. 7 * ONE_DAY;
  3270. </summary>
  3271. </member>
  3272. <member name="F:GSG.NET.Utils.ConstUtils.SPACE_CHAR">
  3273. <summary>
  3274. ' ';
  3275. </summary>
  3276. </member>
  3277. <member name="F:GSG.NET.Utils.ConstUtils.ESC">
  3278. <summary>
  3279. escape string
  3280. </summary>
  3281. </member>
  3282. <member name="F:GSG.NET.Utils.ConstUtils.DIR_CHAR">
  3283. <summary>
  3284. </summary>
  3285. </member>
  3286. <member name="F:GSG.NET.Utils.ConstUtils.DIR">
  3287. <summary>
  3288. </summary>
  3289. </member>
  3290. <member name="F:GSG.NET.Utils.ConstUtils.SPACE">
  3291. <summary>
  3292. " ";
  3293. </summary>
  3294. </member>
  3295. <member name="F:GSG.NET.Utils.ConstUtils.QUOTATION">
  3296. <summary>
  3297. </summary>
  3298. </member>
  3299. <member name="F:GSG.NET.Utils.ConstUtils.QUOTATION_SINGLE">
  3300. <summary>
  3301. </summary>
  3302. </member>
  3303. <member name="F:GSG.NET.Utils.ConstUtils.SPACE20">
  3304. <summary>
  3305. " ";
  3306. </summary>
  3307. </member>
  3308. <member name="F:GSG.NET.Utils.ConstUtils.SPACE25">
  3309. <summary>
  3310. " ";
  3311. </summary>
  3312. </member>
  3313. <member name="F:GSG.NET.Utils.ConstUtils.IP_LOCAL_HOST">
  3314. <summary>
  3315. <para>127.0.0.1</para>
  3316. </summary>
  3317. </member>
  3318. <member name="F:GSG.NET.Utils.ConstUtils.HTML_TAB">
  3319. <summary/>
  3320. </member>
  3321. <member name="F:GSG.NET.Utils.ConstUtils.HTML_SPACE">
  3322. <summary/>
  3323. </member>
  3324. <member name="T:GSG.NET.Utils.DateUtils">
  3325. <summary>
  3326. 각종 Begin, End함수 구현
  3327. <para>TimeChange 함수</para>
  3328. </summary>
  3329. </member>
  3330. <member name="M:GSG.NET.Utils.DateUtils.Quarter(System.DateTime)">
  3331. <summary/>
  3332. </member>
  3333. <member name="M:GSG.NET.Utils.DateUtils.BeginOfMonth(System.Int32,System.Int32)">
  3334. <summary>
  3335. 월초
  3336. </summary>
  3337. </member>
  3338. <member name="M:GSG.NET.Utils.DateUtils.BeginOfYear(System.Int32)">
  3339. <summary>
  3340. 년초
  3341. </summary>
  3342. </member>
  3343. <member name="M:GSG.NET.Utils.DateUtils.BeginOfWeek(System.Int32,System.Int32)">
  3344. <summary>
  3345. Week Number를 이용한 DateTime 가져오기
  3346. <para>1주 시작 Sunday 기준</para>
  3347. </summary>
  3348. </member>
  3349. <member name="M:GSG.NET.Utils.DateUtils.BeginOfWeek(System.DateTime)">
  3350. <summary>
  3351. <para>1주 시작 일~토 기준</para>
  3352. </summary>
  3353. </member>
  3354. <member name="M:GSG.NET.Utils.DateUtils.EndOfWeek(System.DateTime)">
  3355. <summary>
  3356. <para>1주끝 일~토 기준</para>
  3357. </summary>
  3358. </member>
  3359. <member name="M:GSG.NET.Utils.DateUtils.EndOfWeek(System.Int32,System.Int32)">
  3360. <summary>
  3361. Week를 이용한 DateTime 가져오기
  3362. <para>12월말일 경우에 다음년도의 날짜 초반을 가져온다. (향후 변경 가능성 있음)</para>
  3363. </summary>
  3364. </member>
  3365. <member name="M:GSG.NET.Utils.DateUtils.BeginOfQuarter(System.Int32,System.Int32)">
  3366. <summary/>
  3367. </member>
  3368. <member name="M:GSG.NET.Utils.DateUtils.EndOfYear(System.Int32)">
  3369. <summary>
  3370. 년말
  3371. </summary>
  3372. </member>
  3373. <member name="M:GSG.NET.Utils.DateUtils.EndOfQuarter(System.Int32,System.Int32)">
  3374. <summary>
  3375. <para>날짜 계산과 시간을 23:59:59로 계산하여 가져온다.</para>
  3376. </summary>
  3377. </member>
  3378. <member name="M:GSG.NET.Utils.DateUtils.EndOfMonth(System.Int32,System.Int32)">
  3379. <summary>
  3380. Month 마지막 날 자동 계산
  3381. </summary>
  3382. </member>
  3383. <member name="M:GSG.NET.Utils.DateUtils.EndOfDay(System.DateTime)">
  3384. <summary/>
  3385. </member>
  3386. <member name="M:GSG.NET.Utils.DateUtils.ChangeSystemTime(System.String)">
  3387. <summary>
  3388. PC 시간 변경.
  3389. <para>14자리. yyyyMMddHHmmss</para>
  3390. </summary>
  3391. </member>
  3392. <member name="P:GSG.NET.Utils.DateUtils.CurrentTimeMillis">
  3393. <summary/>
  3394. </member>
  3395. <member name="M:GSG.NET.Utils.DateUtils.ToTimeMillis(System.DateTime)">
  3396. <summary>
  3397. may be also new TimeSpan(DateTime.UtcNow.Ticks).TotalMilliseconds;
  3398. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_jlca/html/vberrjavalangsystemcurrenttimemillis.asp
  3399. </summary>
  3400. </member>
  3401. <member name="M:GSG.NET.Utils.DateUtils.ToString(System.DateTime)">
  3402. <summary>
  3403. <para>yyyy-MMdd HH:mm:ss.fff</para>
  3404. </summary>
  3405. </member>
  3406. <member name="M:GSG.NET.Utils.DateUtils.ToString(System.DateTime,System.String)">
  3407. <summary>
  3408. <para>Invariant Culture Format</para>
  3409. <para>dt.ToString(format, System.Globalization.DateTimeFormatInfo.InvariantInfo)</para>
  3410. </summary>
  3411. </member>
  3412. <member name="M:GSG.NET.Utils.DateUtils.WeekNumber(System.DateTime)">
  3413. <summary>
  3414. arg의 DateTime이 몇번째 Week인지 가져오기
  3415. <para>해가 바뀌는 부분을 감안하여 일요일 기준으로 WeekNumber를 계산한다.</para>
  3416. </summary>
  3417. </member>
  3418. <member name="M:GSG.NET.Utils.DateUtils.DayCount(System.DateTime)">
  3419. <summary>
  3420. DateTime의 day가 몇일인지 가져오기.
  3421. </summary>
  3422. </member>
  3423. <member name="M:GSG.NET.Utils.DateUtils.Parse(System.String)">
  3424. <summary>
  3425. <para>Parse가 실패할 경우 1년,1월,1일 반환.</para>
  3426. </summary>
  3427. </member>
  3428. <member name="M:GSG.NET.Utils.DateUtils.Parse(System.String,System.String)">
  3429. <summary>
  3430. <para>Parse가 실패할 경우 1년,1월,1일 반환.</para>
  3431. <para>format을 이용한 parse</para>
  3432. </summary>
  3433. </member>
  3434. <member name="T:GSG.NET.Utils.DelegateUtils">
  3435. <summary>
  3436. <para>DelegateUtils</para>
  3437. <para>Change UI Thread</para>
  3438. <para>Method용 Invoke 지원</para>
  3439. <para>Delegate용 Invoke 지원</para>
  3440. </summary>
  3441. </member>
  3442. <member name="M:GSG.NET.Utils.DelegateUtils.IsControlInstance(System.Delegate)">
  3443. <summary>
  3444. <para>Delegate를 이용한 호출 메소드가 Control 즉 화면인지 여부</para>
  3445. </summary>
  3446. </member>
  3447. <member name="M:GSG.NET.Utils.DelegateUtils.IsWPFControlInstance(System.Delegate)">
  3448. <summary>
  3449. Delegate 에 Target 이 WPF control 인지 확인한다.
  3450. </summary>
  3451. <param name="dlg"></param>
  3452. <returns></returns>
  3453. </member>
  3454. <member name="M:GSG.NET.Utils.DelegateUtils.GetControlTarget(System.Delegate)">
  3455. <summary>
  3456. <para>Delegate의 Target을 가져옴.</para>
  3457. </summary>
  3458. </member>
  3459. <member name="M:GSG.NET.Utils.DelegateUtils.GetWPFControlTarget(System.Delegate)">
  3460. <summary>
  3461. WPF Control 을 가져옴.
  3462. </summary>
  3463. <param name="dlg"></param>
  3464. <returns></returns>
  3465. </member>
  3466. <member name="M:GSG.NET.Utils.DelegateUtils.ChgCtrlText(System.Windows.Forms.Control,System.Object)">
  3467. <summary>
  3468. <para>Cross-thread 처리 완료.</para>
  3469. </summary>
  3470. </member>
  3471. <member name="M:GSG.NET.Utils.DelegateUtils.Invoke(System.Action)">
  3472. <summary>
  3473. <para>BeginInvoke를 이용해서 화면 스레드로 변환함</para>
  3474. <para>호출 method는 void 0 argument가 없어야 함.</para>
  3475. <para>-</para>
  3476. <para>Exception 내부 처리 및 로깅</para>
  3477. </summary>
  3478. </member>
  3479. <member name="M:GSG.NET.Utils.DelegateUtils.Invoke``1(System.Action{``0},``0)">
  3480. <summary>
  3481. <para>BeginInvoke를 이용해서 화면 스레드로 변환함</para>
  3482. <para>-</para>
  3483. <para>호출 method는 void 1 argument.</para>
  3484. </summary>
  3485. </member>
  3486. <member name="M:GSG.NET.Utils.DelegateUtils.Invoke``2(System.Action{``0,``1},``0,``1)">
  3487. <summary>
  3488. <para>BeginInvoke를 이용해서 화면 스레드로 변환함</para>
  3489. <para>-</para>
  3490. <para>호출 method는 void 2 argument.</para>
  3491. </summary>
  3492. </member>
  3493. <member name="M:GSG.NET.Utils.DelegateUtils.Invoke``3(System.Action{``0,``1,``2},``0,``1,``2)">
  3494. <summary>
  3495. <para>BeginInvoke를 이용해서 화면 스레드로 변환함</para>
  3496. <para>-</para>
  3497. <para>호출 method는 void 3 argument.</para>
  3498. </summary>
  3499. </member>
  3500. <member name="M:GSG.NET.Utils.DelegateUtils.Invoke``4(System.Action{``0,``1,``2,``3},``0,``1,``2,``3)">
  3501. <summary>
  3502. <para>BeginInvoke를 이용해서 화면 스레드로 변환함</para>
  3503. <para>-</para>
  3504. <para>호출 method는 void 4 argument.</para>
  3505. </summary>
  3506. </member>
  3507. <member name="M:GSG.NET.Utils.DelegateUtils.Call(System.Delegate,System.Object[])">
  3508. <summary>
  3509. <para>단순 호출, 화면 Thread등을 고려하지 않는다.</para>
  3510. <para>Exception이 발생함</para>
  3511. <para>Exception 미 처리시 CallEx 사용</para>
  3512. </summary>
  3513. </member>
  3514. <member name="M:GSG.NET.Utils.DelegateUtils.CallEx(System.Delegate,System.Object[])">
  3515. <summary>
  3516. </summary>
  3517. </member>
  3518. <member name="M:GSG.NET.Utils.DelegateUtils.Invoke(System.Delegate,System.Object[])">
  3519. <summary>
  3520. <para>delegate용 Thread change Invoke</para>
  3521. </summary>
  3522. <param name="dlg">Event입력</param>
  3523. <param name="args"></param>
  3524. </member>
  3525. <member name="M:GSG.NET.Utils.DelegateUtils.RaiseEventAsync(System.Delegate,System.Object[])">
  3526. <summary>
  3527. Test 필요.
  3528. <para>delegate용 Thread change Invoke</para>
  3529. </summary>
  3530. <param name="handler">Event입력</param>
  3531. <param name="args"></param>
  3532. </member>
  3533. <member name="T:GSG.NET.Utils.HexaUtils">
  3534. <summary>
  3535. <para>byte를 string으로 변환함.</para>
  3536. </summary>
  3537. </member>
  3538. <member name="F:GSG.NET.Utils.HexaUtils.map1">
  3539. <summary>
  3540. string key를 이용해 byte를 찾기위함. (성능향상을 위해 구현함)
  3541. </summary>
  3542. </member>
  3543. <member name="M:GSG.NET.Utils.HexaUtils.StringToByte(System.String)">
  3544. <summary>
  3545. "01" -> 1 byte
  3546. "FF" -> 0xff byte
  3547. </summary>
  3548. </member>
  3549. <member name="M:GSG.NET.Utils.HexaUtils.ToString(System.Byte[])">
  3550. <summary>
  3551. hexspace를 이용하며 delimeter를 space로 처리함.
  3552. </summary>
  3553. </member>
  3554. <member name="M:GSG.NET.Utils.HexaUtils.ToString(System.Byte[],System.Int32)">
  3555. <summary>
  3556. </summary>
  3557. </member>
  3558. <member name="M:GSG.NET.Utils.HexaUtils.ToFF(System.Byte[])">
  3559. <summary>
  3560. <para>FF format으로 붙인다</para>
  3561. <para>space가 없으며 DB blob 저장시 유용함.</para>
  3562. </summary>
  3563. </member>
  3564. <member name="M:GSG.NET.Utils.HexaUtils.FromFF(System.String)">
  3565. <summary>
  3566. <para>HexaString -> byte array</para>
  3567. </summary>
  3568. </member>
  3569. <member name="M:GSG.NET.Utils.HexaUtils.Hex2StringSpace(System.Byte)">
  3570. <summary>
  3571. "00 ", "01 ", "02 ", "03 "...
  3572. </summary>
  3573. </member>
  3574. <member name="M:GSG.NET.Utils.HexaUtils.Hex2String(System.Byte)">
  3575. <summary>
  3576. "00", "01", "02", "03"...
  3577. </summary>
  3578. </member>
  3579. <member name="T:GSG.NET.Utils.IniUtils">
  3580. <summary>
  3581. Win32 ini
  3582. </summary>
  3583. </member>
  3584. <member name="F:GSG.NET.Utils.IniUtils.MAX_SECTION_SIZE">
  3585. <summary>
  3586. The maximum size of a section in an ini file.
  3587. </summary>
  3588. <remarks>
  3589. This property defines the maximum size of the buffers
  3590. used to retreive data from an ini file. This value is
  3591. the maximum allowed by the win32 functions
  3592. GetPrivateProfileSectionNames() or
  3593. GetPrivateProfileString().
  3594. </remarks>
  3595. </member>
  3596. <member name="P:GSG.NET.Utils.IniUtils.FileName">
  3597. <summary>
  3598. <para>없으면 파일을 만드므로 File Exist Check하지 않는다.</para>
  3599. </summary>
  3600. </member>
  3601. <member name="T:GSG.NET.Utils.IniUtils.NativeMethods">
  3602. <summary>
  3603. A static class that provides the win32 P/Invoke signatures
  3604. used by this class.
  3605. </summary>
  3606. <remarks>
  3607. Note: In each of the declarations below, we explicitly set CharSet to
  3608. Auto. By default in C#, CharSet is set to Ansi, which reduces
  3609. performance on windows 2000 and above due to needing to convert strings
  3610. from Unicode (the native format for all .Net strings) to Ansi before
  3611. marshalling. Using Auto lets the marshaller select the Unicode version of
  3612. these functions when available.
  3613. </remarks>
  3614. </member>
  3615. <member name="M:GSG.NET.Utils.IniUtils.GetString(System.String,System.String,System.String)">
  3616. <summary>
  3617. Gets the value of a setting in an ini file as a <see cref="T:System.String"/>.
  3618. </summary>
  3619. <param name="sectionName">The name of the section to read from.</param>
  3620. <param name="keyName">The name of the key in section to read.</param>
  3621. <param name="defaultValue">The default value to return if the key
  3622. cannot be found.</param>
  3623. <returns>The value of the key, if found. Otherwise, returns
  3624. <paramref name="defaultValue"/></returns>
  3625. <remarks>
  3626. The retreived value must be less than 512KB in length.
  3627. </remarks>
  3628. <exception cref="T:System.ArgumentNullException">
  3629. <paramref name="sectionName"/> or <paramref name="keyName"/> are
  3630. a null reference (Nothing in VB)
  3631. </exception>
  3632. </member>
  3633. <member name="M:GSG.NET.Utils.IniUtils.GetInt16(System.String,System.String,System.Int16)">
  3634. <summary>
  3635. Gets the value of a setting in an ini file as a <see cref="T:System.Int16"/>.
  3636. </summary>
  3637. <param name="sectionName">The name of the section to read from.</param>
  3638. <param name="keyName">The name of the key in section to read.</param>
  3639. <param name="defaultValue">The default value to return if the key
  3640. cannot be found.</param>
  3641. <returns>The value of the key, if found. Otherwise, returns
  3642. <paramref name="defaultValue"/>.</returns>
  3643. <exception cref="T:System.ArgumentNullException">
  3644. <paramref name="sectionName"/> or <paramref name="keyName"/> are
  3645. a null reference (Nothing in VB)
  3646. </exception>
  3647. </member>
  3648. <member name="M:GSG.NET.Utils.IniUtils.GetInt32(System.String,System.String,System.Int32)">
  3649. <summary>
  3650. Gets the value of a setting in an ini file as a <see cref="T:System.Int32"/>.
  3651. </summary>
  3652. <param name="sectionName">The name of the section to read from.</param>
  3653. <param name="keyName">The name of the key in section to read.</param>
  3654. <param name="defaultValue">The default value to return if the key
  3655. cannot be found.</param>
  3656. <returns>The value of the key, if found. Otherwise, returns
  3657. <paramref name="defaultValue"/></returns>
  3658. <exception cref="T:System.ArgumentNullException">
  3659. <paramref name="sectionName"/> or <paramref name="keyName"/> are
  3660. a null reference (Nothing in VB)
  3661. </exception>
  3662. </member>
  3663. <member name="M:GSG.NET.Utils.IniUtils.GetDouble(System.String,System.String,System.Double)">
  3664. <summary>
  3665. Gets the value of a setting in an ini file as a <see cref="T:System.Double"/>.
  3666. </summary>
  3667. <param name="sectionName">The name of the section to read from.</param>
  3668. <param name="keyName">The name of the key in section to read.</param>
  3669. <param name="defaultValue">The default value to return if the key
  3670. cannot be found.</param>
  3671. <returns>The value of the key, if found. Otherwise, returns
  3672. <paramref name="defaultValue"/></returns>
  3673. <exception cref="T:System.ArgumentNullException">
  3674. <paramref name="sectionName"/> or <paramref name="keyName"/> are
  3675. a null reference (Nothing in VB)
  3676. </exception>
  3677. </member>
  3678. <member name="M:GSG.NET.Utils.IniUtils.GetSectionValuesAsList(System.String)">
  3679. <summary>
  3680. Gets all of the values in a section as a list.
  3681. </summary>
  3682. <param name="sectionName">
  3683. Name of the section to retrieve values from.
  3684. </param>
  3685. <returns>
  3686. A <see cref="T:System.Collections.Generic.List`1"/> containing <see cref="T:System.Collections.Generic.KeyValuePair`2"/> objects
  3687. that describe this section. Use this verison if a section may contain
  3688. multiple items with the same key value. If you know that a section
  3689. cannot contain multiple values with the same key name or you don't
  3690. care about the duplicates, use the more convenient
  3691. <see cref="M:GSG.NET.Utils.IniUtils.GetSectionValues(System.String)"/> function.
  3692. </returns>
  3693. <exception cref="T:System.ArgumentNullException">
  3694. <paramref name="sectionName"/> is a null reference (Nothing in VB)
  3695. </exception>
  3696. </member>
  3697. <member name="M:GSG.NET.Utils.IniUtils.GetSectionValues(System.String)">
  3698. <summary>
  3699. Gets all of the values in a section as a dictionary.
  3700. </summary>
  3701. <param name="sectionName">
  3702. Name of the section to retrieve values from.
  3703. </param>
  3704. <returns>
  3705. A <see cref="T:System.Collections.Generic.Dictionary`2"/> containing the key/value
  3706. pairs found in this section.
  3707. </returns>
  3708. <remarks>
  3709. If a section contains more than one key with the same name,
  3710. this function only returns the first instance. If you need to
  3711. get all key/value pairs within a section even when keys have the
  3712. same name, use <see cref="M:GSG.NET.Utils.IniUtils.GetSectionValuesAsList(System.String)"/>.
  3713. </remarks>
  3714. <exception cref="T:System.ArgumentNullException">
  3715. <paramref name="sectionName"/> is a null reference (Nothing in VB)
  3716. </exception>
  3717. </member>
  3718. <member name="M:GSG.NET.Utils.IniUtils.GetKeyNames(System.String)">
  3719. <summary>
  3720. Gets the names of all keys under a specific section in the ini file.
  3721. </summary>
  3722. <param name="sectionName">
  3723. The name of the section to read key names from.
  3724. </param>
  3725. <returns>An array of key names.</returns>
  3726. <remarks>
  3727. The total length of all key names in the section must be
  3728. less than 512KB in length.
  3729. </remarks>
  3730. <exception cref="T:System.ArgumentNullException">
  3731. <paramref name="sectionName"/> is a null reference (Nothing in VB)
  3732. </exception>
  3733. </member>
  3734. <member name="M:GSG.NET.Utils.IniUtils.GetSectionNames">
  3735. <summary>
  3736. </summary>
  3737. </member>
  3738. <member name="P:GSG.NET.Utils.IniUtils.AllSectionNames">
  3739. <summary>
  3740. Gets the names of all sections in the ini file.
  3741. </summary>
  3742. <returns>An array of section names.</returns>
  3743. <remarks>
  3744. The total length of all section names in the section must be
  3745. less than 512KB in length.
  3746. </remarks>
  3747. </member>
  3748. <member name="M:GSG.NET.Utils.IniUtils.ConvertNullSeperatedStringToStringArray(System.IntPtr,System.Int32)">
  3749. <summary>
  3750. Converts the null seperated pointer to a string into a string array.
  3751. </summary>
  3752. <param name="ptr">A pointer to string data.</param>
  3753. <param name="valLength">
  3754. Length of the data pointed to by <paramref name="ptr"/>.
  3755. </param>
  3756. <returns>
  3757. An array of strings; one for each null found in the array of characters pointed
  3758. at by <paramref name="ptr"/>.
  3759. </returns>
  3760. </member>
  3761. <member name="M:GSG.NET.Utils.IniUtils.WriteValueInternal(System.String,System.String,System.String)">
  3762. <summary>
  3763. Writes a <see cref="T:System.String"/> value to the ini file.
  3764. </summary>
  3765. <param name="sectionName">The name of the section to write to .</param>
  3766. <param name="keyName">The name of the key to write to.</param>
  3767. <param name="value">The string value to write</param>
  3768. <exception cref="T:System.ComponentModel.Win32Exception">
  3769. The write failed.
  3770. </exception>
  3771. </member>
  3772. <member name="M:GSG.NET.Utils.IniUtils.WriteValue(System.String,System.String,System.String)">
  3773. <summary>
  3774. Writes a <see cref="T:System.String"/> value to the ini file.
  3775. </summary>
  3776. <param name="sectionName">The name of the section to write to .</param>
  3777. <param name="keyName">The name of the key to write to.</param>
  3778. <param name="value">The string value to write</param>
  3779. <exception cref="T:System.ComponentModel.Win32Exception">
  3780. The write failed.
  3781. </exception>
  3782. <exception cref="T:System.ArgumentNullException">
  3783. <paramref name="sectionName"/> or <paramref name="keyName"/> or
  3784. <paramref name="value"/> are a null reference (Nothing in VB)
  3785. </exception>
  3786. </member>
  3787. <member name="M:GSG.NET.Utils.IniUtils.WriteValue(System.String,System.String,System.Int16)">
  3788. <summary>
  3789. Writes an <see cref="T:System.Int16"/> value to the ini file.
  3790. </summary>
  3791. <param name="sectionName">The name of the section to write to .</param>
  3792. <param name="keyName">The name of the key to write to.</param>
  3793. <param name="value">The value to write</param>
  3794. <exception cref="T:System.ComponentModel.Win32Exception">
  3795. The write failed.
  3796. </exception>
  3797. </member>
  3798. <member name="M:GSG.NET.Utils.IniUtils.WriteValue(System.String,System.String,System.Int32)">
  3799. <summary>
  3800. Writes an <see cref="T:System.Int32"/> value to the ini file.
  3801. </summary>
  3802. <param name="sectionName">The name of the section to write to .</param>
  3803. <param name="keyName">The name of the key to write to.</param>
  3804. <param name="value">The value to write</param>
  3805. <exception cref="T:System.ComponentModel.Win32Exception">
  3806. The write failed.
  3807. </exception>
  3808. <exception cref="T:System.ArgumentNullException">
  3809. <paramref name="sectionName"/> or <paramref name="keyName"/> are
  3810. a null reference (Nothing in VB)
  3811. </exception>
  3812. </member>
  3813. <member name="M:GSG.NET.Utils.IniUtils.WriteValue(System.String,System.String,System.Single)">
  3814. <summary>
  3815. Writes an <see cref="T:System.Single"/> value to the ini file.
  3816. </summary>
  3817. <param name="sectionName">The name of the section to write to .</param>
  3818. <param name="keyName">The name of the key to write to.</param>
  3819. <param name="value">The value to write</param>
  3820. <exception cref="T:System.ComponentModel.Win32Exception">
  3821. The write failed.
  3822. </exception>
  3823. <exception cref="T:System.ArgumentNullException">
  3824. <paramref name="sectionName"/> or <paramref name="keyName"/> are
  3825. a null reference (Nothing in VB)
  3826. </exception>
  3827. </member>
  3828. <member name="M:GSG.NET.Utils.IniUtils.WriteValue(System.String,System.String,System.Double)">
  3829. <summary>
  3830. Writes an <see cref="T:System.Double"/> value to the ini file.
  3831. </summary>
  3832. <param name="sectionName">The name of the section to write to .</param>
  3833. <param name="keyName">The name of the key to write to.</param>
  3834. <param name="value">The value to write</param>
  3835. <exception cref="T:System.ComponentModel.Win32Exception">
  3836. The write failed.
  3837. </exception>
  3838. <exception cref="T:System.ArgumentNullException">
  3839. <paramref name="sectionName"/> or <paramref name="keyName"/> are
  3840. a null reference (Nothing in VB)
  3841. </exception>
  3842. </member>
  3843. <member name="M:GSG.NET.Utils.IniUtils.DeleteKey(System.String,System.String)">
  3844. <summary>
  3845. Deletes the specified key from the specified section.
  3846. </summary>
  3847. <param name="sectionName">
  3848. Name of the section to remove the key from.
  3849. </param>
  3850. <param name="keyName">
  3851. Name of the key to remove.
  3852. </param>
  3853. <exception cref="T:System.ArgumentNullException">
  3854. <paramref name="sectionName"/> or <paramref name="keyName"/> are
  3855. a null reference (Nothing in VB)
  3856. </exception>
  3857. </member>
  3858. <member name="M:GSG.NET.Utils.IniUtils.DeleteSection(System.String)">
  3859. <summary>
  3860. Deletes a section from the ini file.
  3861. </summary>
  3862. <param name="sectionName">
  3863. Name of the section to delete.
  3864. </param>
  3865. <exception cref="T:System.ArgumentNullException">
  3866. <paramref name="sectionName"/> is a null reference (Nothing in VB)
  3867. </exception>
  3868. </member>
  3869. <member name="T:GSG.NET.Utils.MemoryBuffer">
  3870. <summary>
  3871. <para>memory stream buffer, default size 256</para>
  3872. <para>Append와 Read함수 지원함</para>
  3873. <para>.net이 little endian이 기본이므로</para>
  3874. <para>Little endian은 byte swap을 하지 않고 Big endian은 byte swap을 하고 값을 읽고쓴다</para>
  3875. <para></para>
  3876. <para>Append</para>
  3877. <para>MemoryBuffer에 데이터를 추가하는 함수</para>
  3878. <para>최종 ToBytes를 이용하여 한번에 byte array를 추출함.</para>
  3879. <para></para>
  3880. <para>Read</para>
  3881. <para>mb.Append(byte[])를 하고</para>
  3882. <para>ResetSeek()를 이용하여 position초기화</para>
  3883. <para>ReadLexxx 등을 사용하여 position을 자동 이동시키며</para>
  3884. <para>byte array에서 int, short등을 추출한다.</para>
  3885. <para>-</para>
  3886. <para>201603:Append의 return값을 제거함, Length와 Pos가 불명확함.</para>
  3887. </summary>
  3888. </member>
  3889. <member name="M:GSG.NET.Utils.MemoryBuffer.#ctor">
  3890. <summary>
  3891. 기본 size:256으로 할당한다
  3892. </summary>
  3893. </member>
  3894. <member name="M:GSG.NET.Utils.MemoryBuffer.#ctor(System.Int32)">
  3895. <summary>
  3896. bufSize 만큼 buffer를 할당한다
  3897. </summary>
  3898. </member>
  3899. <member name="M:GSG.NET.Utils.MemoryBuffer.#ctor(System.Byte[])">
  3900. <summary>
  3901. 1. buffer를 입력된 bs 만큼 할당한다
  3902. <para>2. Append를 내부적으로 호출하여 bs를 append한다</para>
  3903. <para>3. Position을 최초로 이동하여 바로 ReadXXX를 사용가능하게 한다</para>
  3904. </summary>
  3905. </member>
  3906. <member name="M:GSG.NET.Utils.MemoryBuffer.Reset">
  3907. <summary>
  3908. <para>MemoryBuffer를 초기화하고(데이터 삭제됨)</para>
  3909. <para>새로운 MemoryStream을 생성함.</para>
  3910. </summary>
  3911. </member>
  3912. <member name="M:GSG.NET.Utils.MemoryBuffer.Append(System.Byte[])">
  3913. <summary>
  3914. bs -> MemoryBuffer
  3915. </summary>
  3916. </member>
  3917. <member name="M:GSG.NET.Utils.MemoryBuffer.PosChange(System.Int32)">
  3918. <summary>
  3919. <para>Change curr position</para>
  3920. <para>Multi thread에서는 Lock처리가 필요함.</para>
  3921. </summary>
  3922. </member>
  3923. <member name="M:GSG.NET.Utils.MemoryBuffer.PosShift(System.Int32)">
  3924. <summary>
  3925. <para>Shift left or right</para>
  3926. </summary>
  3927. </member>
  3928. <member name="M:GSG.NET.Utils.MemoryBuffer.ResetSeek">
  3929. <summary>
  3930. <para>MemoryBuffer position을 처음으로 복귀시킴.</para>
  3931. <para>Pos '0'</para>
  3932. </summary>
  3933. </member>
  3934. <member name="M:GSG.NET.Utils.MemoryBuffer.PosBegin">
  3935. <summary>
  3936. Position을 제일 앞으로
  3937. </summary>
  3938. </member>
  3939. <member name="M:GSG.NET.Utils.MemoryBuffer.PosEnd">
  3940. <summary>
  3941. Position을 제일 마지막으로
  3942. </summary>
  3943. </member>
  3944. <member name="M:GSG.NET.Utils.MemoryBuffer.PeekBytes(System.Int32,System.Int32)">
  3945. <summary>
  3946. Position 이동을 하지 않는다.
  3947. </summary>
  3948. </member>
  3949. <member name="M:GSG.NET.Utils.MemoryBuffer.Append(System.Int32)">
  3950. <summary>
  3951. <para>integer를 byte를 casting하여 append함수 호출</para>
  3952. </summary>
  3953. <param name="i">0~255</param>
  3954. </member>
  3955. <member name="M:GSG.NET.Utils.MemoryBuffer.Fill(System.Int32,System.Byte)">
  3956. <summary>
  3957. length만큼 b 로 채워서 Append함.
  3958. </summary>
  3959. </member>
  3960. <member name="M:GSG.NET.Utils.MemoryBuffer.Append(GSG.NET.Utils.MemoryBuffer)">
  3961. <summary>
  3962. from의 데이터를 this memory buffer를 합친다.
  3963. <para>from의 Position에 관계없이 from의 모든 데이터를 this에 추가한다.</para>
  3964. <para>this의 position은 유효함.</para>
  3965. </summary>
  3966. </member>
  3967. <member name="M:GSG.NET.Utils.MemoryBuffer.Append(System.Byte[],System.Int32)">
  3968. <summary>
  3969. bs -> MemoryBuffer
  3970. </summary>
  3971. <param name="bs"></param>
  3972. <param name="offset">From bs offset to end</param>
  3973. </member>
  3974. <member name="M:GSG.NET.Utils.MemoryBuffer.Append(System.Byte[],System.Int32,System.Int32)">
  3975. <summary>
  3976. <para>bs -> MemoryBuffer</para>
  3977. <para>length를 둔 이유는 넘치거나 적은 데이터의 보정을 위함.</para>
  3978. <para>bs가 length를 넘치거나 적은 경우 대비한 로직.</para>
  3979. </summary>
  3980. <param name="bs"></param>
  3981. <param name="offset">bs의 시작점</param>
  3982. <param name="size">offset부터 append 할 byte size</param>
  3983. </member>
  3984. <member name="M:GSG.NET.Utils.MemoryBuffer.Chg(System.Byte[],System.Int32,System.Int32)">
  3985. <summary>
  3986. <para>MemoryBuffer 값변경.</para>
  3987. <para>offset은 bs의 시작점.</para>
  3988. </summary>
  3989. </member>
  3990. <member name="M:GSG.NET.Utils.MemoryBuffer.Chg(System.Byte)">
  3991. <summary>
  3992. 현재위치(pos)의 1 byte 값만 변경함
  3993. <para>성능향상 용도</para>
  3994. </summary>
  3995. </member>
  3996. <member name="M:GSG.NET.Utils.MemoryBuffer.Chg(System.Int32,System.Byte[])">
  3997. <summary>
  3998. <para>MemoryBuffer 값변경.</para>
  3999. <para>pos 부터 bs로 변경하고 원래 Position으로 반환한다.</para>
  4000. </summary>
  4001. </member>
  4002. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendLeUint(System.UInt32)">
  4003. <summary>
  4004. little endian
  4005. </summary>
  4006. </member>
  4007. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendLeInt(System.Int32)">
  4008. <summary>
  4009. little endian
  4010. </summary>
  4011. </member>
  4012. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendLeInt3(System.Int32)">
  4013. <summary>
  4014. 3byte int 처리.
  4015. </summary>
  4016. </member>
  4017. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendLeShort(System.Int32)">
  4018. <summary>
  4019. Append little endian short
  4020. </summary>
  4021. </member>
  4022. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendLeShort(System.Int16)">
  4023. <summary>
  4024. little endian
  4025. </summary>
  4026. </member>
  4027. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendLeUshort(System.Int32)">
  4028. <summary>
  4029. little endian
  4030. </summary>
  4031. </member>
  4032. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendLeUshort(System.UInt16)">
  4033. <summary>
  4034. little endian
  4035. </summary>
  4036. </member>
  4037. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendLeFloat(System.Single)">
  4038. <summary>
  4039. Little endian 4 byte float value append.
  4040. </summary>
  4041. </member>
  4042. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendBeFloat(System.Single)">
  4043. <summary>
  4044. Big endian 4 byte float value append
  4045. </summary>
  4046. </member>
  4047. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendBeDouble(System.Double)">
  4048. <summary>
  4049. Big endian 8 byte double value append
  4050. </summary>
  4051. </member>
  4052. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendAscii(System.String)">
  4053. <summary>
  4054. <para>Append string</para>
  4055. <para>Encoding.ASCII</para>
  4056. <para>영문, 한글 및 unicode도 1byte로 치환된다.</para>
  4057. </summary>
  4058. </member>
  4059. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendAscii(System.String,System.Text.Encoding)">
  4060. <summary>
  4061. <para>Append string</para>
  4062. <para>Encoding에 따른 byte수가 다를 수 있다.</para>
  4063. </summary>
  4064. </member>
  4065. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendAscii(System.Int32,System.String)">
  4066. <summary>
  4067. <para>Ascii Length 보정.</para>
  4068. <para>0x00->0x20</para>
  4069. <para>Encoding.ASCII</para>
  4070. </summary>
  4071. </member>
  4072. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendAscii(System.Int32,System.String,System.Text.Encoding)">
  4073. <summary>
  4074. <para>Ascii Length 보정.</para>
  4075. <para>0x00->0x20</para>
  4076. </summary>
  4077. </member>
  4078. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendAscii(System.Int32,System.String,System.Int32)">
  4079. <summary>
  4080. <para>Ascii Length 보정.</para>
  4081. <para>0x00->0x20</para>
  4082. </summary>
  4083. </member>
  4084. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendAscii0x00(System.Int32,System.String)">
  4085. <summary>
  4086. <para>Ascii Length 보정 0x00으로 나머지를 채운다.</para>
  4087. <para>영문, 한글 및 unicode도 1byte로 치환된다.</para>
  4088. <para>Encoding.ASCII</para>
  4089. </summary>
  4090. </member>
  4091. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendAscii0x00(System.Int32,System.String,System.Text.Encoding)">
  4092. <summary>
  4093. <para>Ascii Length 보정 0x00으로 나머지를 채운다.</para>
  4094. </summary>
  4095. </member>
  4096. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendBeShort(System.Int32)">
  4097. <summary>
  4098. big endian
  4099. </summary>
  4100. </member>
  4101. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendBeUshort(System.Int32)">
  4102. <summary>
  4103. big endian
  4104. </summary>
  4105. </member>
  4106. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendBeShort(System.Int16)">
  4107. <summary>
  4108. big endian
  4109. </summary>
  4110. </member>
  4111. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendBeInt(System.Int32)">
  4112. <summary>
  4113. big endian
  4114. </summary>
  4115. </member>
  4116. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendBeInt3(System.Int32)">
  4117. <summary>
  4118. 3byte int 처리.
  4119. </summary>
  4120. </member>
  4121. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendBeUint(System.UInt32)">
  4122. <summary>
  4123. big endian
  4124. </summary>
  4125. </member>
  4126. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendBeUint(System.Int64)">
  4127. <summary>
  4128. big endian
  4129. </summary>
  4130. </member>
  4131. <member name="M:GSG.NET.Utils.MemoryBuffer.AppendBeLong(System.Int64)">
  4132. <summary>
  4133. big endian
  4134. </summary>
  4135. </member>
  4136. <member name="P:GSG.NET.Utils.MemoryBuffer.ToBytes">
  4137. <summary>
  4138. <para>전체를 byte array로 추출</para>
  4139. </summary>
  4140. </member>
  4141. <member name="P:GSG.NET.Utils.MemoryBuffer.ToAscii">
  4142. <summary>
  4143. <para>전체를 string으로 추출</para>
  4144. </summary>
  4145. </member>
  4146. <member name="P:GSG.NET.Utils.MemoryBuffer.ToHex">
  4147. <summary>
  4148. <para>space, hexa string</para>
  4149. </summary>
  4150. </member>
  4151. <member name="M:GSG.NET.Utils.MemoryBuffer.ToHexLine(System.Int32)">
  4152. <summary>
  4153. lineDigit byte를 기준으로 NewLine처리
  4154. </summary>
  4155. </member>
  4156. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadLeInt">
  4157. <summary>
  4158. <para>Memory buffer에서 4byte를 읽어서 little endian 을 만든다.</para>
  4159. </summary>
  4160. </member>
  4161. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadLeInt3">
  4162. <summary>
  4163. 3byte int 처리.
  4164. <para>최상위 바이트 0을 뒤에 추가하여 Int로 처리함.</para>
  4165. </summary>
  4166. </member>
  4167. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadBitArray(System.Int32)">
  4168. <summary>
  4169. size 만큼 읽어서 BitArray 작성
  4170. </summary>
  4171. </member>
  4172. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadAscii(System.Int32)">
  4173. <summary>
  4174. <para>size 만큼 읽어서 string 변환, null(0x00)문자가 있으면 space로 치환한다.</para>
  4175. <para>byte[] bs = ReadBytes(size);</para>
  4176. <para>Encoding.ASCII</para>
  4177. </summary>
  4178. </member>
  4179. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadAscii(System.Int32,System.Text.Encoding)">
  4180. <summary>
  4181. <para>size 만큼 읽어서 string 변환, null(0x00)문자가 있으면 space로 치환한다.</para>
  4182. <para>byte[] bs = ReadBytes(size);</para>
  4183. <para>Encoding에 의해 string으로 변환한다.</para>
  4184. </summary>
  4185. </member>
  4186. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadAscT(System.Int32)">
  4187. <summary>
  4188. Read Ascii Trim with Encoding.Default
  4189. <para>Encoding은 Encoding.Default를 사용한다.</para>
  4190. </summary>
  4191. </member>
  4192. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadBeInt">
  4193. <summary>
  4194. <para>Memory buffer에서 4byte를 읽어서 big endian 을 만든다.</para>
  4195. </summary>
  4196. </member>
  4197. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadBeInt3">
  4198. <summary>
  4199. 3byte int 처리.
  4200. <para>최상위 바이트 0을 앞에 추가하여 Int로 처리함.</para>
  4201. </summary>
  4202. </member>
  4203. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadBeUint">
  4204. <summary>
  4205. <para>Memory buffer에서 4byte를 읽어서 big endian 을 만든다.</para>
  4206. </summary>
  4207. </member>
  4208. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadBeFloat">
  4209. <summary>
  4210. <para>Memory buffer에서 4byte를 읽어서 big endian 을 만든다.</para>
  4211. </summary>
  4212. </member>
  4213. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadBeDouble">
  4214. <summary>
  4215. <para>Memory buffer에서 8byte를 읽어서 big endian 을 만든다.</para>
  4216. </summary>
  4217. </member>
  4218. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadBeLong">
  4219. <summary>
  4220. <para>Memory buffer에서 8byte를 읽어서 big endian 을 만든다.</para>
  4221. </summary>
  4222. </member>
  4223. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadBeUshort">
  4224. <summary>
  4225. <para>Memory buffer에서 2byte를 big endian으로 읽는다.</para>
  4226. </summary>
  4227. </member>
  4228. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadBeShort">
  4229. <summary>
  4230. <para>Memory buffer에서 2byte를 big endian으로 읽는다.</para>
  4231. </summary>
  4232. </member>
  4233. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadLeUshort">
  4234. <summary>
  4235. <para>Memory buffer에서 2byte를 little endian으로 읽는다.</para>
  4236. </summary>
  4237. </member>
  4238. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadLeShort">
  4239. <summary>
  4240. <para>Memory buffer에서 2byte를 little endian으로 읽는다.</para>
  4241. </summary>
  4242. </member>
  4243. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadLeFloat">
  4244. <summary>
  4245. <para>Memory buffer에서 4byte를 little endian</para>
  4246. </summary>
  4247. </member>
  4248. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadLeDouble">
  4249. <summary>
  4250. <para>Memory buffer에서 8byte를 little endian</para>
  4251. </summary>
  4252. </member>
  4253. <member name="M:GSG.NET.Utils.MemoryBuffer.Read1Byte">
  4254. <summary>
  4255. 1 바이트를 읽는다. int로 받는다.
  4256. <para>0~255(0~0xff)</para>
  4257. <para>int.Equals(byte)는 값이 같으면 True가 되지만</para>
  4258. <para>byte.Equals(int)는 값이 같아도 False가 된다.</para>
  4259. <para>byte == int, int == byte 는 값이 같을 경우 True가 되므로 Equals 보다 == 사용 권장.</para>
  4260. </summary>
  4261. </member>
  4262. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadByte">
  4263. <summary>
  4264. <para>1 바이트를 읽는다. byte로 받는다.</para>
  4265. <para>int.Equals(byte)는 값이 같으면 True가 되지만</para>
  4266. <para>byte.Equals(int)는 값이 같아도 False가 된다.</para>
  4267. <para>byte == int, int == byte 는 값이 같을 경우 True가 되므로 Equals 보다 == 사용 권장.</para>
  4268. </summary>
  4269. </member>
  4270. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadBytes(System.Int32)">
  4271. <summary>
  4272. <para>Memorybuffer에서 byte추출</para>
  4273. </summary>
  4274. </member>
  4275. <member name="M:GSG.NET.Utils.MemoryBuffer.ReadBytesRest">
  4276. <summary>
  4277. 현재 pos의 나머지 읽기
  4278. </summary>
  4279. </member>
  4280. <member name="P:GSG.NET.Utils.MemoryBuffer.Pos">
  4281. <summary>
  4282. MemoryBuffer access position
  4283. </summary>
  4284. </member>
  4285. <member name="P:GSG.NET.Utils.MemoryBuffer.Length">
  4286. <summary>
  4287. 실제 valid(append 되었던) Size
  4288. <para>Position이 이동되어도 Length는 기존 값을 유지한다.</para>
  4289. </summary>
  4290. </member>
  4291. <member name="T:GSG.NET.Utils.NumUtils">
  4292. <summary>
  4293. </summary>
  4294. </member>
  4295. <member name="M:GSG.NET.Utils.NumUtils.Random(System.Int32,System.Int32)">
  4296. <summary>
  4297. <para>1~10 까지 수행하려면 Random(1, 10)</para>
  4298. <para>바로 이전에 구한값과 중복은 발생하지 않게 처리함.</para>
  4299. <para>ThreadStatic을 적용하여 Thread마다 각각 이전 값을 유지함.</para>
  4300. </summary>
  4301. </member>
  4302. <member name="M:GSG.NET.Utils.NumUtils.Ceiling(System.Int32,System.Int32)">
  4303. <summary>
  4304. <para>올림</para>
  4305. </summary>
  4306. </member>
  4307. <member name="M:GSG.NET.Utils.NumUtils.Floor(System.Int32,System.Int32)">
  4308. <summary>
  4309. <para>내림</para>
  4310. </summary>
  4311. </member>
  4312. <member name="M:GSG.NET.Utils.NumUtils.Round(System.Int32,System.Int32)">
  4313. <summary>
  4314. <para>반올림</para>
  4315. </summary>
  4316. </member>
  4317. <member name="M:GSG.NET.Utils.NumUtils.IsMultiple(System.Int32,System.Int32)">
  4318. <summary>
  4319. <para>배수인지 체크</para>
  4320. </summary>
  4321. </member>
  4322. <member name="M:GSG.NET.Utils.NumUtils.IsOddNumber(System.Int32)">
  4323. <summary>
  4324. 홀수인지 체크
  4325. </summary>
  4326. </member>
  4327. <member name="M:GSG.NET.Utils.NumUtils.Remainder(System.Int32,System.Int32)">
  4328. <summary>
  4329. <para>나머지 구하기</para>
  4330. </summary>
  4331. </member>
  4332. <member name="M:GSG.NET.Utils.NumUtils.RangeCheck(System.Int32,System.Int32,System.Int32)">
  4333. <summary>
  4334. <para>Range check</para>
  4335. <para>e.g. RangeCheck(i, 0, short.MaxValue)</para>
  4336. </summary>
  4337. </member>
  4338. <member name="M:GSG.NET.Utils.NumUtils.RangeCheck(System.Double,System.Double,System.Double)">
  4339. <summary/>
  4340. </member>
  4341. <member name="M:GSG.NET.Utils.NumUtils.Percent(System.Object,System.Object)">
  4342. <summary>
  4343. <para>백분율 가져오기</para>
  4344. </summary>
  4345. </member>
  4346. <member name="M:GSG.NET.Utils.NumUtils.IsNumber(System.Object)">
  4347. <summary>
  4348. <para>obj의 Type이 Integer or decimal인지 여부 검사.</para>
  4349. </summary>
  4350. </member>
  4351. <member name="M:GSG.NET.Utils.NumUtils.CanConvertToInteger(System.String)">
  4352. <summary>
  4353. <para>argument를 integer로 변경 가능한지?</para>
  4354. </summary>
  4355. </member>
  4356. <member name="M:GSG.NET.Utils.NumUtils.Average(System.Int32[])">
  4357. <summary>
  4358. <para>평균 구하기</para>
  4359. </summary>
  4360. </member>
  4361. <member name="M:GSG.NET.Utils.NumUtils.Average(System.Double[])">
  4362. <summary>
  4363. <para>평균 구하기</para>
  4364. </summary>
  4365. </member>
  4366. <member name="M:GSG.NET.Utils.NumUtils.Variance(System.Double[])">
  4367. <summary>
  4368. <para>분포도(분산)</para>
  4369. </summary>
  4370. </member>
  4371. <member name="M:GSG.NET.Utils.NumUtils.StdDev(System.Double[])">
  4372. <summary>
  4373. <para>표준편차</para>
  4374. </summary>
  4375. </member>
  4376. <member name="M:GSG.NET.Utils.NumUtils.Median(System.Double[])">
  4377. <summary>
  4378. 중간값.
  4379. </summary>
  4380. </member>
  4381. <member name="M:GSG.NET.Utils.NumUtils.Min(System.Int32[])">
  4382. <summary>
  4383. <para>최소값</para>
  4384. </summary>
  4385. </member>
  4386. <member name="M:GSG.NET.Utils.NumUtils.Min(System.Double[])">
  4387. <summary>
  4388. <para>최소값</para>
  4389. </summary>
  4390. </member>
  4391. <member name="M:GSG.NET.Utils.NumUtils.Max(System.Int32[])">
  4392. <summary>
  4393. <para>최대값</para>
  4394. </summary>
  4395. </member>
  4396. <member name="M:GSG.NET.Utils.NumUtils.Max(System.Double[])">
  4397. <summary>
  4398. <para>최대값</para>
  4399. </summary>
  4400. </member>
  4401. <member name="M:GSG.NET.Utils.NumUtils.IntV(System.String)">
  4402. <summary>
  4403. string.Empty일 경우 0 반환
  4404. <para>TryParse가 실패할 경우 0반환</para>
  4405. </summary>
  4406. </member>
  4407. <member name="M:GSG.NET.Utils.NumUtils.IntHexV(System.String)">
  4408. <summary>
  4409. string.Empty일 경우 0 반환
  4410. <para>TryParse가 실패할 경우 0반환</para>
  4411. </summary>
  4412. </member>
  4413. <member name="M:GSG.NET.Utils.NumUtils.DoubleV(System.String)">
  4414. <summary>
  4415. string.Empty일 경우 0 반환
  4416. </summary>
  4417. </member>
  4418. <member name="M:GSG.NET.Utils.NumUtils.FloatV(System.String)">
  4419. <summary/>
  4420. </member>
  4421. <member name="T:GSG.NET.Utils.ObjectCopyUtils">
  4422. <summary>
  4423. Deep Copy 지원
  4424. </summary>
  4425. </member>
  4426. <member name="M:GSG.NET.Utils.ObjectCopyUtils.DeepClone``1(``0)">
  4427. <summary>
  4428. Deep Clone 구현
  4429. </summary>
  4430. <typeparam name="T"></typeparam>
  4431. <param name="obj"></param>
  4432. <returns></returns>
  4433. </member>
  4434. <member name="M:GSG.NET.Utils.ObjectCopyUtils.SerializableDeepClone``1(``0)">
  4435. <summary>
  4436. Serializable 객체에 대한 Deep Clone
  4437. </summary>
  4438. <typeparam name="T"></typeparam>
  4439. <param name="obj"></param>
  4440. <returns></returns>
  4441. </member>
  4442. <member name="T:GSG.NET.Utils.ProcessUtils">
  4443. <summary>
  4444. AddStartUpProcess는 windows registry를 사용하며 실행 폴더는 system folder가 되므로
  4445. spring config, log4net config를 상대 경로 가능 수정(2012.07)
  4446. </summary>
  4447. </member>
  4448. <member name="M:GSG.NET.Utils.ProcessUtils.AddStartUpProcess(System.String,System.String,System.Object[])">
  4449. <summary/>
  4450. </member>
  4451. <member name="M:GSG.NET.Utils.ProcessUtils.RemoveStartUpProcess(System.String)">
  4452. <summary>
  4453. <para>Remove StartUp Process</para>
  4454. </summary>
  4455. </member>
  4456. <member name="M:GSG.NET.Utils.ProcessUtils.AddMeStartUpProcess(System.Object[])">
  4457. <summary>
  4458. <para>Add Current Process StartUp</para>
  4459. </summary>
  4460. </member>
  4461. <member name="P:GSG.NET.Utils.ProcessUtils.IsAutoStartMe">
  4462. <summary>
  4463. 현재 Process가 AutoStart에 등록되어 있는지?
  4464. </summary>
  4465. </member>
  4466. <member name="M:GSG.NET.Utils.ProcessUtils.RemoveMeStartUpProcess">
  4467. <summary>
  4468. <para>Remove Current Process StartUp</para>
  4469. </summary>
  4470. </member>
  4471. <member name="P:GSG.NET.Utils.ProcessUtils.IsOnlyOneInstance">
  4472. <summary>
  4473. <para>프로세스 이름을 이용하여 OnlyOneInstance check를 한다.</para>
  4474. </summary>
  4475. </member>
  4476. <member name="P:GSG.NET.Utils.ProcessUtils.CurrentProcessName">
  4477. <summary>
  4478. <para>Get Current Process Name</para>
  4479. </summary>
  4480. </member>
  4481. <member name="M:GSG.NET.Utils.ProcessUtils.GetProcess(System.String)">
  4482. <summary>
  4483. <para>Process Name을 이용해 Process 개체를 가져옴</para>
  4484. <para>여러개일 경우 첫번째 Process만 가져옴</para>
  4485. </summary>
  4486. </member>
  4487. <member name="M:GSG.NET.Utils.ProcessUtils.GetProcesses(System.String)">
  4488. <summary>
  4489. <para>Process Name을 이용해 Process Array를 가져옴.</para>
  4490. </summary>
  4491. </member>
  4492. <member name="M:GSG.NET.Utils.ProcessUtils.GetProcessCount(System.String)">
  4493. <summary>
  4494. <para>Get Excuted Process Count</para>
  4495. </summary>
  4496. </member>
  4497. <member name="M:GSG.NET.Utils.ProcessUtils.Kill(System.String)">
  4498. <summary>
  4499. <para>Process Name으로 Process Kill</para>
  4500. <para>xxx.exe -> processName: xxx</para>
  4501. </summary>
  4502. </member>
  4503. <member name="M:GSG.NET.Utils.ProcessUtils.KillGraceful(System.String)">
  4504. <summary>
  4505. <para>Form Close에 로직이 있는 경우에 사용함.</para>
  4506. </summary>
  4507. </member>
  4508. <member name="M:GSG.NET.Utils.ProcessUtils.Start(System.String)">
  4509. <summary>
  4510. <para>App 실행</para>
  4511. </summary>
  4512. </member>
  4513. <member name="M:GSG.NET.Utils.ProcessUtils.Start(System.String,System.String)">
  4514. <summary>
  4515. <para>App 실행, argument 입력</para>
  4516. </summary>
  4517. </member>
  4518. <member name="M:GSG.NET.Utils.ProcessUtils.Start(System.String,System.String,System.String)">
  4519. <summary>
  4520. <para>App 실행</para>
  4521. </summary>
  4522. <param name="path"></param>
  4523. <param name="wd">Working Directory</param>
  4524. <param name="args"></param>
  4525. </member>
  4526. <member name="M:GSG.NET.Utils.ProcessUtils.StartWaitForExit(System.String,System.String,System.String)">
  4527. <summary>
  4528. <para>실행한 process가 종료될때까지 block됨.</para>
  4529. </summary>
  4530. <param name="path"></param>
  4531. <param name="wd">Working directory, null or empty 입력 가능</param>
  4532. <param name="args">null or empty 가능</param>
  4533. </member>
  4534. <member name="M:GSG.NET.Utils.ProcessUtils.StartConsoleRedirect(System.String,System.String,System.String)">
  4535. <summary>
  4536. <para>Console process를 실행하고 결과를 redirect하여 string으로 받는다.</para>
  4537. </summary>
  4538. </member>
  4539. <member name="M:GSG.NET.Utils.ProcessUtils.Kill(System.Int32)">
  4540. <summary>
  4541. <para>processID가 없을 경우에도 Exception이 발생하지 않는다, return 값으로 체크</para>
  4542. </summary>
  4543. <param name="processID"></param>
  4544. <returns>Killed or Not</returns>
  4545. </member>
  4546. <member name="T:GSG.NET.Utils.StringUtils">
  4547. <summary>
  4548. GSG.NET..Utils.StringUtils
  4549. </summary>
  4550. </member>
  4551. <member name="M:GSG.NET.Utils.StringUtils.ToString(System.Collections.Generic.Dictionary{System.String,System.String})">
  4552. <summary>
  4553. dictionary를 key=value 형태로 만듦
  4554. </summary>
  4555. </member>
  4556. <member name="M:GSG.NET.Utils.StringUtils.Int2Bit(System.Int32)">
  4557. <summary>
  4558. </summary>
  4559. </member>
  4560. <member name="M:GSG.NET.Utils.StringUtils.Byte2Bit(System.Byte)">
  4561. <summary>
  4562. Convert.ToString(v, 2);
  4563. </summary>
  4564. </member>
  4565. <member name="M:GSG.NET.Utils.StringUtils.Substring(System.String,System.String,System.String)">
  4566. <summary>
  4567. </summary>
  4568. </member>
  4569. <member name="M:GSG.NET.Utils.StringUtils.HasTwoParams(System.String,System.String,System.String)">
  4570. <summary>
  4571. org에 From, To 가 모두 존재하는지 검사함.
  4572. </summary>
  4573. </member>
  4574. <member name="M:GSG.NET.Utils.StringUtils.QuietSubstring(System.String,System.String,System.String)">
  4575. <summary>
  4576. Ignore error
  4577. </summary>
  4578. </member>
  4579. <member name="M:GSG.NET.Utils.StringUtils.SubstringAfter(System.String,System.String)">
  4580. <summary>
  4581. </summary>
  4582. </member>
  4583. <member name="M:GSG.NET.Utils.StringUtils.QuietSubstringAfter(System.String,System.String)">
  4584. <summary>
  4585. Ignore error
  4586. </summary>
  4587. </member>
  4588. <member name="M:GSG.NET.Utils.StringUtils.SubstringBefore(System.String,System.String)">
  4589. <summary>
  4590. Ignore error
  4591. </summary>
  4592. </member>
  4593. <member name="M:GSG.NET.Utils.StringUtils.QuietSubstringBefore(System.String,System.String)">
  4594. <summary>
  4595. </summary>
  4596. </member>
  4597. <member name="T:GSG.NET.Utils.SwUtils">
  4598. <summary>
  4599. <para>Stopwatch: elapsed time check</para>
  4600. </summary>
  4601. </member>
  4602. <member name="P:GSG.NET.Utils.SwUtils.T">
  4603. <summary>
  4604. <para>same CurrentTimeMillis</para>
  4605. </summary>
  4606. </member>
  4607. <member name="P:GSG.NET.Utils.SwUtils.CurrentTimeMillis">
  4608. <summary>
  4609. <para>CurrentTime의 millisecond 가져옴</para>
  4610. </summary>
  4611. </member>
  4612. <member name="M:GSG.NET.Utils.SwUtils.ElapsedTime(System.Int64)">
  4613. <summary>
  4614. <para>string.Format("[{0:d3} ms]", gap);</para>
  4615. <para>Use F</para>
  4616. </summary>
  4617. <param name="pre">이전 milli-second</param>
  4618. </member>
  4619. <member name="M:GSG.NET.Utils.SwUtils.F(System.Int64)">
  4620. <summary>
  4621. <para>string.Format("[{0:d3} ms]", gap);</para>
  4622. <para>Use F</para>
  4623. </summary>
  4624. <param name="pre">이전 milli-second</param>
  4625. </member>
  4626. <member name="M:GSG.NET.Utils.SwUtils.Elapsed(System.Int64)">
  4627. <summary/>
  4628. </member>
  4629. <member name="M:GSG.NET.Utils.SwUtils.Gt(System.Int64,System.Int32)">
  4630. <summary/>
  4631. </member>
  4632. <member name="T:GSG.NET.Utils.SznUtils">
  4633. <summary/>
  4634. </member>
  4635. <member name="M:GSG.NET.Utils.SznUtils.CanSerialize(System.Object)">
  4636. <summary>
  4637. <para>Serializable 가능 여부 체크</para>
  4638. </summary>
  4639. </member>
  4640. <member name="M:GSG.NET.Utils.SznUtils.Serialize(System.Object)">
  4641. <summary/>
  4642. </member>
  4643. <member name="M:GSG.NET.Utils.SznUtils.Deserialize(System.Byte[])">
  4644. <summary/>
  4645. </member>
  4646. <member name="T:GSG.NET.Utils.MidnightNotifier">
  4647. <summary>
  4648. 날짜가 바뀜을 알려준다.
  4649. </summary>
  4650. </member>
  4651. <member name="T:GSG.NET.Utils.FixTimeNotifier">
  4652. <summary>
  4653. 정시를 알려줌
  4654. </summary>
  4655. </member>
  4656. <member name="T:GSG.NET.V2.SerialV2">
  4657. <summary>
  4658. Serial 통신 Ver2
  4659. </summary>
  4660. </member>
  4661. <member name="P:GSG.NET.V2.SerialV2.H">
  4662. <summary/>
  4663. </member>
  4664. <member name="P:GSG.NET.V2.SerialV2.Name">
  4665. <summary>
  4666. SerialV2 구분자
  4667. <para>구별을 위해서는 Name을 적절히 변경한다.</para>
  4668. </summary>
  4669. </member>
  4670. <member name="M:GSG.NET.V2.SerialV2.#ctor">
  4671. <summary>
  4672. ReadWrite Timeout def 2 sec
  4673. </summary>
  4674. </member>
  4675. <member name="M:GSG.NET.V2.SerialV2.Init">
  4676. <summary>
  4677. open serial port
  4678. </summary>
  4679. </member>
  4680. <member name="M:GSG.NET.V2.SerialV2.Send(System.Byte[])">
  4681. <summary/>
  4682. </member>
  4683. <member name="M:GSG.NET.V2.SerialV2.Send(GSG.NET.Utils.MemoryBuffer)">
  4684. <summary/>
  4685. </member>
  4686. <member name="M:GSG.NET.V2.SerialV2.Read(System.Int32)">
  4687. <summary>
  4688. <para>blocking read</para>
  4689. </summary>
  4690. </member>
  4691. <member name="M:GSG.NET.V2.SerialV2.ReadTo(System.Byte)">
  4692. <summary>
  4693. <para>NewLine, ETX까지 읽는 경우.</para>
  4694. <para>b는 포함되지 않음</para>
  4695. <para>in stream에서 b 까지 읽음</para>
  4696. </summary>
  4697. </member>
  4698. <member name="M:GSG.NET.V2.SerialV2.Ignore(System.Int32)">
  4699. <summary>
  4700. 읽어서 버림.
  4701. </summary>
  4702. </member>
  4703. <member name="M:GSG.NET.V2.SerialV2.Close">
  4704. <summary>
  4705. close SerailPort
  4706. </summary>
  4707. </member>
  4708. <member name="M:GSG.NET.V2.SerialV2.Clean">
  4709. <summary>
  4710. Clean buffer
  4711. </summary>
  4712. </member>
  4713. <member name="M:GSG.NET.V2.SerialV2.ToString">
  4714. <summary/>
  4715. </member>
  4716. <member name="T:GSG.NET.V2.SignalV2">
  4717. <summary>
  4718. Local Multicast 통신
  4719. <para>netsh int ip show joins</para>
  4720. </summary>
  4721. </member>
  4722. <member name="P:GSG.NET.V2.SignalV2.Charset">
  4723. <summary>
  4724. string 통신 encoding 설정
  4725. </summary>
  4726. </member>
  4727. <member name="M:GSG.NET.V2.SignalV2.#ctor">
  4728. <summary/>
  4729. </member>
  4730. <member name="P:GSG.NET.V2.SignalV2.Channel">
  4731. <summary>
  4732. Channel을 통한 수신
  4733. </summary>
  4734. </member>
  4735. <member name="E:GSG.NET.V2.SignalV2.OnMessage">
  4736. <summary>
  4737. arg1: cmd
  4738. <para>arg2: value</para>
  4739. </summary>
  4740. </member>
  4741. <member name="M:GSG.NET.V2.SignalV2.Init">
  4742. <summary/>
  4743. </member>
  4744. <member name="M:GSG.NET.V2.SignalV2.OpenMulticast">
  4745. <summary>
  4746. Server: IpAddr을 세팅하지 않음
  4747. <para>Client: IpAddr setting</para>
  4748. </summary>
  4749. </member>
  4750. <member name="M:GSG.NET.V2.SignalV2.Send(System.Object,System.String,System.Object[])">
  4751. <summary>
  4752. <para>cmd: 구분자</para>
  4753. <para>-</para>
  4754. <para>format 또는 value를 넣어도 호환됨.</para>
  4755. <para>format : {0,-10}{1,-20}{2} 등등</para>
  4756. <para>string.format을 쉽게 사용함</para>
  4757. </summary>
  4758. </member>
  4759. <member name="M:GSG.NET.V2.SignalV2.Send(System.Object,System.String)">
  4760. <summary>
  4761. <para>cmd: 구분자</para>
  4762. <para>cmd는 int, string, enum 허용함</para>
  4763. <para>-</para>
  4764. <para>string value only</para>
  4765. </summary>
  4766. </member>
  4767. <member name="M:GSG.NET.V2.SignalV2.Send(System.Object,System.Object)">
  4768. <summary>
  4769. <para>cmd는 int, string, enum 허용함</para>
  4770. <para>obj value는 int, enum 및 ToString을이용하는 항목과, serialize object 허용</para>
  4771. </summary>
  4772. </member>
  4773. <member name="M:GSG.NET.V2.SignalV2.ThSend">
  4774. <summary>
  4775. Length(4)+guid(1+n)+channel(1+n)+cmd(1+n)+protocol(1)+value or object(n)
  4776. </summary>
  4777. </member>
  4778. <member name="F:GSG.NET.V2.SignalV2.MAX_UDP_SIZE">
  4779. <summary>
  4780. 4 KB
  4781. </summary>
  4782. </member>
  4783. <member name="F:GSG.NET.V2.SignalV2.MAX_DATA_SIZE">
  4784. <summary>
  4785. Max 2 MB
  4786. </summary>
  4787. </member>
  4788. <member name="M:GSG.NET.V2.SignalV2.Read(System.Int32)">
  4789. <summary>
  4790. size 읽을때까지 blocking
  4791. <para>size -1, clear garbage buffer</para>
  4792. </summary>
  4793. </member>
  4794. <member name="T:GSG.NET.V2.SignalV2.InMsg">
  4795. <summary/>
  4796. </member>
  4797. <member name="P:GSG.NET.V2.SignalV2.InMsg.Guid">
  4798. <summary/>
  4799. </member>
  4800. <member name="P:GSG.NET.V2.SignalV2.InMsg.Length">
  4801. <summary/>
  4802. </member>
  4803. <member name="P:GSG.NET.V2.SignalV2.InMsg.Cmd">
  4804. <summary/>
  4805. </member>
  4806. <member name="P:GSG.NET.V2.SignalV2.InMsg.Value">
  4807. <summary>
  4808. string value
  4809. </summary>
  4810. </member>
  4811. <member name="P:GSG.NET.V2.SignalV2.InMsg.Serialize">
  4812. <summary>
  4813. 객체통신
  4814. </summary>
  4815. </member>
  4816. <member name="T:GSG.NET.V2.TcpV2">
  4817. <summary>
  4818. <para>2016.06.15 최초 개발</para>
  4819. <para>default: BigEndian</para>
  4820. </summary>
  4821. </member>
  4822. <member name="P:GSG.NET.V2.TcpV2.LittleEndian">
  4823. <summary>
  4824. default: false, 즉 BigEndian default
  4825. </summary>
  4826. </member>
  4827. <member name="P:GSG.NET.V2.TcpV2.Comm">
  4828. <summary/>
  4829. </member>
  4830. <member name="M:GSG.NET.V2.TcpV2.#ctor">
  4831. <summary/>
  4832. </member>
  4833. <member name="M:GSG.NET.V2.TcpV2.Init">
  4834. <summary>
  4835. Client의 경우 Comm.Retry 회수 만큼 연결 시도후 함수 return 됨.
  4836. </summary>
  4837. </member>
  4838. <member name="P:GSG.NET.V2.TcpV2.Sck">
  4839. <summary/>
  4840. </member>
  4841. <member name="P:GSG.NET.V2.TcpV2.KeepAlive">
  4842. <summary/>
  4843. </member>
  4844. <member name="M:GSG.NET.V2.TcpV2.DefSckOpt(System.Net.Sockets.TcpClient)">
  4845. <summary>
  4846. tcp socket option 설정
  4847. <para>NoDelay, LingerState, ReceiveTimeout</para>
  4848. </summary>
  4849. </member>
  4850. <member name="M:GSG.NET.V2.TcpV2.Close">
  4851. <summary>
  4852. <para>close socket</para>
  4853. <para>Exception이 없다, 내부적으로 모두 처리함.</para>
  4854. </summary>
  4855. </member>
  4856. <member name="M:GSG.NET.V2.TcpV2.Clean">
  4857. <summary>
  4858. In buffer clear
  4859. </summary>
  4860. </member>
  4861. <member name="M:GSG.NET.V2.TcpV2.Ignore(System.Int32)">
  4862. <summary>
  4863. 읽어서 버림.
  4864. </summary>
  4865. </member>
  4866. <member name="M:GSG.NET.V2.TcpV2.ReadInt(System.Int32)">
  4867. <summary>
  4868. Int변환
  4869. <para>LittleEndian property를 이용하여 ByteOrder세팅이 가능함.</para>
  4870. <para>size 2일 경우 Ushort 변환</para>
  4871. <para>-</para>
  4872. <para>TimeoutException catch 가능함</para>
  4873. </summary>
  4874. </member>
  4875. <member name="M:GSG.NET.V2.TcpV2.Read(System.Int32)">
  4876. <summary>
  4877. size만큼 읽어 MemoryBuffer에 담고 Pos를 0으로 이동한다.
  4878. <para>-</para>
  4879. <para>TimeoutException catch 가능함</para>
  4880. </summary>
  4881. </member>
  4882. <member name="M:GSG.NET.V2.TcpV2.ReadTo(System.Byte)">
  4883. <summary>
  4884. <para>ETX까지 읽는 경우.</para>
  4885. <para>b는 포함되지 않음</para>
  4886. <para>in stream에서 b 까지 읽음</para>
  4887. <para>-</para>
  4888. <para>TimeoutException catch 가능함</para>
  4889. </summary>
  4890. </member>
  4891. <member name="P:GSG.NET.V2.TcpV2.Connected">
  4892. <summary>
  4893. tcp connect or not
  4894. <para>Sck == null이면 false</para>
  4895. </summary>
  4896. </member>
  4897. <member name="M:GSG.NET.V2.TcpV2.Send(GSG.NET.Utils.MemoryBuffer)">
  4898. <summary>
  4899. MemoryBuffer Position 관계 없이 모든 데이터 write
  4900. </summary>
  4901. </member>
  4902. <member name="M:GSG.NET.V2.TcpV2.Send(System.Byte[])">
  4903. <summary/>
  4904. </member>
  4905. <member name="M:GSG.NET.V2.TcpV2.Send(System.Int32)">
  4906. <summary>
  4907. int 4 byte send
  4908. <para>LittleEndian property flag에 따라 자동 변환</para>
  4909. <para>최대한 MemoryBuffer를 활용한 send 방식으로 구현하며 사용 최소화</para>
  4910. </summary>
  4911. </member>
  4912. <member name="M:GSG.NET.V2.TcpV2.ChgTimeout(System.Boolean)">
  4913. <summary>
  4914. T6 기준 infinite timeout 변경 or 원복
  4915. <para>OS 시간 변경으로 연결 종료 방지</para>
  4916. </summary>
  4917. </member>
  4918. <member name="T:GSG.NET.V2.UdpV2">
  4919. <summary/>
  4920. </member>
  4921. <member name="P:GSG.NET.V2.UdpV2.IpAddr">
  4922. <summary/>
  4923. </member>
  4924. <member name="P:GSG.NET.V2.UdpV2.PortNo">
  4925. <summary/>
  4926. </member>
  4927. <member name="P:GSG.NET.V2.UdpV2.TTL">
  4928. <summary>
  4929. TTL: Microsoft def 128, Floware 8
  4930. <para>TTL:0 Local Mode</para>
  4931. </summary>
  4932. </member>
  4933. <member name="P:GSG.NET.V2.UdpV2.BufferSize">
  4934. <summary>
  4935. def : 10 mb
  4936. </summary>
  4937. </member>
  4938. <member name="P:GSG.NET.V2.UdpV2.Sck">
  4939. <summary/>
  4940. </member>
  4941. <member name="P:GSG.NET.V2.UdpV2.Timeout">
  4942. <summary>
  4943. Receive timeout
  4944. </summary>
  4945. </member>
  4946. <member name="M:GSG.NET.V2.UdpV2.#ctor">
  4947. <summary/>
  4948. </member>
  4949. <member name="M:GSG.NET.V2.UdpV2.Init(System.Boolean)">
  4950. <summary>
  4951. Server: IpAddr을 세팅하지 않음
  4952. <para>Client: IpAddr setting</para>
  4953. </summary>
  4954. </member>
  4955. <member name="M:GSG.NET.V2.UdpV2.Send(GSG.NET.Utils.MemoryBuffer)">
  4956. <summary/>
  4957. </member>
  4958. <member name="M:GSG.NET.V2.UdpV2.Reply(GSG.NET.Utils.MemoryBuffer)">
  4959. <summary>
  4960. 수신된 연결로 reply 보냄
  4961. </summary>
  4962. </member>
  4963. <member name="M:GSG.NET.V2.UdpV2.Clean">
  4964. <summary>
  4965. In buffer garbage clear
  4966. </summary>
  4967. </member>
  4968. <member name="M:GSG.NET.V2.UdpV2.Read(System.Int32)">
  4969. <summary>
  4970. size 읽을때까지 blocking
  4971. <para>size -1 경우, Clean과 동일함.</para>
  4972. <para>Timeout일 경우 SocketTimeoutException이 발생</para>
  4973. </summary>
  4974. </member>
  4975. <member name="M:GSG.NET.V2.UdpV2.Close">
  4976. <summary/>
  4977. </member>
  4978. <member name="E:GSG.NET.V3.FourthCenter.OnMessage">
  4979. <summary/>
  4980. </member>
  4981. <member name="P:GSG.NET.V3.FourthCenter.Charset">
  4982. <summary>
  4983. string 통신 encoding 설정
  4984. </summary>
  4985. </member>
  4986. <member name="M:GSG.NET.V3.FourthCenter.#ctor">
  4987. <summary/>
  4988. </member>
  4989. <member name="M:GSG.NET.V3.FourthCenter.Init(System.Int32)">
  4990. <summary/>
  4991. </member>
  4992. <member name="M:GSG.NET.V3.FourthCenter.Reply(System.Net.IPEndPoint,System.Object[])">
  4993. <summary/>
  4994. </member>
  4995. <member name="T:GSG.NET.V3.FourthCenter.Item">
  4996. <summary/>
  4997. </member>
  4998. <member name="P:GSG.NET.V3.FourthCenter.Item.Origin">
  4999. <summary>
  5000. Origin value
  5001. </summary>
  5002. </member>
  5003. <member name="P:GSG.NET.V3.FourthCenter.Item.StrV">
  5004. <summary>
  5005. string or enum value get
  5006. </summary>
  5007. </member>
  5008. <member name="P:GSG.NET.V3.FourthCenter.Item.IntV">
  5009. <summary/>
  5010. </member>
  5011. <member name="P:GSG.NET.V3.FourthCenter.Item.BoolV">
  5012. <summary/>
  5013. </member>
  5014. <member name="M:GSG.NET.V3.FourthCenter.Item.ToString">
  5015. <summary/>
  5016. </member>
  5017. <member name="T:GSG.NET.V3.SignalV3">
  5018. <summary>
  5019. Local Multicast 통신
  5020. <para>PortNo 이용하여 그룹간 통신을 제한이 가능하다, 171101</para>
  5021. <para>-</para>
  5022. <para>상태: netsh int ip show joins</para>
  5023. </summary>
  5024. </member>
  5025. <member name="P:GSG.NET.V3.SignalV3.Charset">
  5026. <summary>
  5027. string 통신 encoding 설정
  5028. </summary>
  5029. </member>
  5030. <member name="P:GSG.NET.V3.SignalV3.PortNo">
  5031. <summary>
  5032. Def: 27545
  5033. </summary>
  5034. </member>
  5035. <member name="M:GSG.NET.V3.SignalV3.#ctor">
  5036. <summary/>
  5037. </member>
  5038. <member name="T:GSG.NET.V3.SignalV3.DlgMsg">
  5039. <summary/>
  5040. </member>
  5041. <member name="E:GSG.NET.V3.SignalV3.OnMessage">
  5042. <summary>
  5043. arg1: length
  5044. <para>arg2: values</para>
  5045. </summary>
  5046. </member>
  5047. <member name="M:GSG.NET.V3.SignalV3.Init">
  5048. <summary/>
  5049. </member>
  5050. <member name="M:GSG.NET.V3.SignalV3.OpenMulticast">
  5051. <summary>
  5052. Server: IpAddr을 세팅하지 않음
  5053. <para>Client: IpAddr setting</para>
  5054. </summary>
  5055. </member>
  5056. <member name="M:GSG.NET.V3.SignalV3.Send(System.Object[])">
  5057. <summary>
  5058. <para>여러타입을 하나의 메시지로 보낼수 있음.</para>
  5059. <para>-</para>
  5060. <para>지원타입</para>
  5061. <para>string, int, bool, enum, byte[], serializable object</para>
  5062. </summary>
  5063. </member>
  5064. <member name="M:GSG.NET.V3.SignalV3.SendAfter(System.Single,System.Object[])">
  5065. <summary>
  5066. 지연후 send
  5067. <para>0th: 초단위 timeout</para>
  5068. <para>나머지 항목은 Send와 동일</para>
  5069. <para>second 0보다 작거나 같을 경우 Send와 동일함</para>
  5070. </summary>
  5071. </member>
  5072. <member name="M:GSG.NET.V3.SignalV3.Request(System.Single,System.Object[])">
  5073. <summary>
  5074. timeout이 발생하면 List count 0이 됨
  5075. <para>0th: 초단위 timeout</para>
  5076. </summary>
  5077. </member>
  5078. <member name="M:GSG.NET.V3.SignalV3.Reply(System.Collections.Generic.List{GSG.NET.V3.SignalV3.Item},System.Object[])">
  5079. <summary/>
  5080. </member>
  5081. <member name="F:GSG.NET.V3.SignalV3.MAX_UDP_SIZE">
  5082. <summary>
  5083. 4 KB
  5084. </summary>
  5085. </member>
  5086. <member name="F:GSG.NET.V3.SignalV3.MAX_DATA_SIZE">
  5087. <summary>
  5088. Max 2 MB
  5089. </summary>
  5090. </member>
  5091. <member name="T:GSG.NET.V3.SignalV3.Item">
  5092. <summary/>
  5093. </member>
  5094. <member name="P:GSG.NET.V3.SignalV3.Item.Origin">
  5095. <summary>
  5096. Origin value
  5097. </summary>
  5098. </member>
  5099. <member name="P:GSG.NET.V3.SignalV3.Item.StrV">
  5100. <summary>
  5101. string or enum value get
  5102. </summary>
  5103. </member>
  5104. <member name="P:GSG.NET.V3.SignalV3.Item.IntV">
  5105. <summary>
  5106. IntType or EnumType's value
  5107. </summary>
  5108. </member>
  5109. <member name="P:GSG.NET.V3.SignalV3.Item.FloatV">
  5110. <summary/>
  5111. </member>
  5112. <member name="P:GSG.NET.V3.SignalV3.Item.BoolV">
  5113. <summary/>
  5114. </member>
  5115. <member name="P:GSG.NET.V3.SignalV3.Item.IsEnum">
  5116. <summary>
  5117. EmumType or not
  5118. </summary>
  5119. </member>
  5120. <member name="M:GSG.NET.V3.SignalV3.Item.ToString">
  5121. <summary/>
  5122. </member>
  5123. <member name="M:GSG.NET.V3.SignalV3.Read(System.Int32)">
  5124. <summary>
  5125. size 읽을때까지 blocking
  5126. <para>size -1, clear garbage buffer</para>
  5127. </summary>
  5128. </member>
  5129. </members>
  5130. </doc>