디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

오늘 설계한 Clair.Event_Loop ㅋㅋ

나르시갤로그로 이동합니다. 2025.11.19 22:24:02
조회 57 추천 0 댓글 3

이거 기반은 llm이 준 정보가 아닌,  C로 만든 CLoop가 기반

Ada로 정말로 재작성하고 있음.

저걸 이용하여 Guiyom 툴킷 메인루프 및 앱 메인루프 돌릴거다.


Guiyom 툴킷의 메인루프는 두 가지 모드로 작동될 수 있다.


1. 전통적인 방식의 GUI 툴킷처럼 GUI 메인루프가 앱의 메인루프인 경우.

2. 앱의 메인루프와 GUI 스레드 메인루프가 서로 통신하는 방식.


2번 방식의 경우, GUI 가 멈추더라도 앱은 멈추지 않는다.

호스트 루프 비차단이 특징.


그리고

디스플레이 서버 <---> 클라이언트 통신 방식을


GUI 스레드 (서버) <----> 앱 메인 스레드 통신 방법으로

옮겨 놓은 것.


안전성이 뛰어나다 할 수 있다.

저거 구현 성공하면

nimf에서 non-GUI 콘솔 입력, GUI 입력 동시 사용 가능

ㅋㅋㅋ

전에 non-GUI 환경에서 돌릴 때, GUI 루프에서 멈춤이 발생했는데 그거 때문에

ㅋㅋㅋ 고안한 방식. CEF, Storyboard라는 툴킷에서도 제공하는 기능임.

CEF는 일반 앱에서 사용하기 곤란하고,

Storyboard는 상업용 툴킷이고.. 일단 내가 돈이 없어 사용 불가함.

ㅋㅋㅋ


-- clair-event_loop.ads
-- Copyright (c) 2025 Hodong Kim <hodong@nimfsoft.art>
--
-- Permission to use, copy, modify, and/or distribute this software for any
-- purpose with or without fee is hereby granted.
--
-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--
-- THIS FILE IS AUTOMATICALLY GENERATED.
-- DO NOT EDIT THIS FILE MANUALLY.

with Clair.File;

package Clair.Event_Loop is

  type Context is limited private;
  type Context_Access is access all Context;

  -- 감시자 리소스를 식별하는 ID (제거 시 사용)
  type Handle_Id is new Interfaces.C.int;
  Invalid_Handle : constant Handle_Id := -1;

  type Event_Mask is mod 2 ** 8;

  Event_Read  : constant Event_Mask := 16#1#;
  Event_Write : constant Event_Mask := 16#2#;
  Event_Error : constant Event_Mask := 16#4#;

  type Event_Callback is access procedure (
     fd        : Clair.File.Descriptor;
     events    : Event_Mask;
     user_data : System.Address
  );

  procedure run  (self : in out Context);
  procedure stop (self : in out Context);

  function add_io_watch (
    self      : in out Context;
    fd        : Clair.File.Descriptor;
    events    : Event_Mask;
    callback  : Event_Callback;
    user_data : System.Address := System.NULL_ADDRESS
  ) return Handle_Id;

  procedure remove_io_watch (
     self : in out Context;
     id   : Handle_Id
  );

  procedure modify_io_watch (
     self   : in out Context;
     fd     : Clair.IO.Descriptor;
     events : Clair.IO.Event_Mask
  );

private

  type Context is limited record
    is_running : Boolean := False;
  end record;

end Clair.Event_Loop;

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 대박 날 것 같아서 내 꿈에 나와줬으면 하는 스타는? 운영자 25/11/17 - -
AD 겨울가전 SALE! 쿨한 겨울 HOT세일 운영자 25/11/12 - -
공지 프로그래밍 갤러리 이용 안내 [97] 운영자 20.09.28 48732 65
2903748 개좇센은 높은 학군가면 성공함?? [1] 타이밍뒷.통수한방(1.213) 15:51 10 0
2903747 개발자 관련 카톡 옵챗 보고 있으면 [1] 루도그담당(58.233) 15:47 15 0
2903746 서울에 급진적인 성장을 30년넘게 경험했는데 [1] 타이밍뒷.통수한방(1.213) 15:46 14 0
2903745 김종국, 결혼 발표 24일 만 결별 소식…’각자의 길’ 발명도둑잡기(39.7) 15:40 18 0
2903744 80년대 컴퓨터 학원 [1] 발명도둑잡기(39.7) 15:34 12 0
2903743 imsplayer 노래방 발명도둑잡기(39.7) 15:31 10 0
2903742 폭스레인저 리메이크 소스 발명도둑잡기(39.7) 15:30 10 0
2903741 사람인 이력서 첨쓰는데 헬프 [1] ㅇㅇ갤로그로 이동합니다. 14:56 22 0
2903740 나이먹으니깐 잠이 안온다 먹는건 많이먹게되고 [1] 타이밍뒷.통수한방(1.213) 14:35 17 0
2903737 슬프다..일이 없다. [2] cvs.갤로그로 이동합니다. 13:33 40 0
2903736 문서 구조 개선을 위한 체크리스트 20항목 [2] amdc갤로그로 이동합니다. 13:21 29 0
2903735 조별과제 기능구현 다 마치고 내용 채우는 단계에서 엎자는 놈 나옴 [1] ㅇㅇ(121.127) 13:01 33 0
2903734 러스트라는 훌륭한 언어가 있는 시대에 사는것에 감사하다. [1] 프갤러(221.149) 12:50 31 0
2903733 전에 셀카 사진 올리던 존예 개발자 어케됨? 프갤러(223.38) 12:38 37 0
2903732 자료구조 알고리즘 인강은 누구꺼 봐야됨? [4] 프갤러(106.245) 11:16 60 0
2903731 내가 외국인 거르는 기준이 한국에 집착하는 외국인들임 [1] 타이밍뒷.통수한방(1.213) 11:14 55 1
2903730 냥덩이 [1] 발명도둑잡기(118.216) 11:14 34 0
2903729 근데 귀 문제 이명은 아닌게 [8] 루도그담당(58.233) 11:10 61 0
2903728 소설 단 발명도둑잡기(118.216) 11:02 14 0
2903727 냥덩이 스타일 영상 발명도둑잡기(118.216) 10:59 16 0
2903726 요즘 책읽는게 너무 귀찮다 프갤러(182.231) 10:49 25 0
2903725 인생은 즐겨야 한다 chironpractor갤로그로 이동합니다. 10:45 31 0
2903724 아직도 못 깨닫는 내로남불 러스트 빠돌이 ㅋㅋ [14] 나르시갤로그로 이동합니다. 10:26 65 3
2903723 PHP 배우고 있는데 잘 하고 있는걸까 [4] 프갤러(182.231) 10:25 61 0
2903722 귀에서 이명 들려서 [18] 루도그담당(118.235) 10:23 75 0
2903721 [대한민국] 국힘! 최강의 카드를 쥔 장동혁 대표 프갤러(121.172) 10:12 14 0
2903720 소시오패스 의심해봐도 되냐? [4] 프갤러(118.235) 10:10 52 1
2903719 항아리를 파서 조각을.. ㅇㅅㅇ [3] 헤르 미온느갤로그로 이동합니다. 09:59 31 0
2903718 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09:57 22 0
2903717 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 09:55 27 0
2903716 언제나 애매하게 아는 새끼들이 가장 문제임 [13] ㅇㅇ(124.48) 09:10 116 5
2903715 품질팀이 내가만든 자동화 코드 달래 [8] ㅇㅇ(118.235) 08:35 95 3
2903713 자바 싫어하는 이유 [8] 프갤러(110.8) 08:30 76 0
2903712 인버스 안팔고 버티길 잘했네 [6] chironpractor갤로그로 이동합니다. 08:26 60 0
2903711 뿡애인줄 알앗는데 끙야엿넹.. [2] ♥KiTTY냥덩♥갤로그로 이동합니다. 08:24 62 0
2903710 눈치없는 사람이 계속 호감표시하면 어떻게 대처해야할까 [2] ㅁㅁㅅ갤로그로 이동합니다. 08:05 42 0
2903709 ❤✨☀⭐⚡☘⛩☃나님 시작합니당☃⛩☘⚡⭐☀✨❤ [1] ♥KiTTY냥덩♥갤로그로 이동합니다. 07:08 27 0
2903708 아니 모기가 2마리가 있다고 [3] 루도그담당(58.233) 06:46 36 0
2903707 나님 모닝 끙야중 ☀+ [1] ♥KiTTY냥덩♥갤로그로 이동합니다. 06:37 53 0
2903706 최상위권 탑 명문대 합격 퍼펙트 가이드!% 프갤러(121.142) 04:42 47 1
2903705 개좆병신씨발병신코드리뷰어개패버리고싶은데어떡하냐 [3] 프갤러(86.12) 04:33 62 0
2903700 Skt 얘네 또 뭔 지랄을 했길레 ㅇㅇ(118.235) 03:29 48 0
2903698 음기 충전 발명도둑잡기(118.235) 02:37 58 0
2903696 상냥한 남자에게 발명도둑잡기(118.216) 02:15 23 0
2903695 나는 특별히 싫어하는 언어는 없는데 [1] 발명도둑잡기(118.216) 02:00 48 1
2903692 자바 싫어하는 사람들은 이유가 뭐임? [1] 프갤러(140.248) 01:28 60 0
2903689 오늘의 영상 기획, 발명 실마리: 음악,영화골든벨, 퀴즈 자동 생성 장치 발명도둑잡기(118.216) 00:59 16 0
2903688 프로그래밍 언어 선호 논쟁이 무익한 이유 발명도둑잡기(118.216) 00:49 51 0
2903687 러스트가 병신언어인 이유 프갤러(180.80) 00:40 42 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2