PreviousUpNext

15.3.797  src/lib/x-kit/xclient/src/wire/inbuf-ximp.api

## inbuf-ximp.api
#
# For the big picture see the imp dataflow diagrams in
#
#     src/lib/x-kit/xclient/src/window/xclient-ximps.pkg

# Compiled by:
#     src/lib/x-kit/xclient/xclient-internals.sublib




                                                                                        # xevent_types                          is from   src/lib/x-kit/xclient/src/wire/xevent-types.pkg
                                                                                        # xerrors                               is from   src/lib/x-kit/xclient/src/wire/xerrors.pkg

stipulate
    include package   threadkit;                                                        # threadkit                             is from   src/lib/src/lib/thread-kit/src/core-thread-kit/threadkit.pkg
    #
    package mps =  microthread_preemptive_scheduler;                                    # microthread_preemptive_scheduler      is from   src/lib/src/lib/thread-kit/src/core-thread-kit/microthread-preemptive-scheduler.pkg
    #
    package un  =  unt;                                                                 # unt                                   is from   src/lib/std/unt.pkg
    package uid =  issue_unique_id;                                                     # issue_unique_id                       is from   src/lib/src/issue-unique-id.pkg
#   package wv8 =  rw_vector_of_one_byte_unts;                                          # rw_vector_of_one_byte_unts            is from   src/lib/std/src/rw-vector-of-one-byte-unts.pkg
    package psx =  posixlib;                                                            # posixlib                              is from   src/lib/std/src/psx/posixlib.pkg
    package e2s =  xerror_to_string;                                                    # xerror_to_string                      is from   src/lib/x-kit/xclient/src/to-string/xerror-to-string.pkg
    package skj =  socket_junk;                                                         # socket_junk                           is from   src/lib/internet/socket-junk.pkg
    package sok =  socket__premicrothread;                                              # socket__premicrothread                is from   src/lib/std/socket--premicrothread.pkg
    package v1u =  vector_of_one_byte_unts;                                             # vector_of_one_byte_unts               is from   src/lib/std/src/vector-of-one-byte-unts.pkg
    package v2w =  value_to_wire;                                                       # value_to_wire                         is from   src/lib/x-kit/xclient/src/wire/value-to-wire.pkg
    package w2v =  wire_to_value;                                                       # wire_to_value                         is from   src/lib/x-kit/xclient/src/wire/wire-to-value.pkg
    #
    package g2d =  geometry2d;                                                          # geometry2d                            is from   src/lib/std/2d/geometry2d.pkg
    package xtr =  xlogger;                                                             # xlogger                               is from   src/lib/x-kit/xclient/src/stuff/xlogger.pkg
    #
    package xps =  xpacket_sink;                                                        # xpacket_sink                          is from   src/lib/x-kit/xclient/src/wire/xpacket-sink.pkg

    trace =  xtr::log_if  xtr::io_logging  0;                                           # Conditionally write strings to tracing.log or whatever.
herein


    # This api is implemented in:
    #
    #     src/lib/x-kit/xclient/src/wire/inbuf-ximp.pkg
    #
    api Inbuf_Ximp
    {
        Exports = {                                                                     # Ports we provide for use by other imps.
                  };

        Imports = {                                                                     # Ports we use, provided by other imps. 
                    xpacket_sink:   xps::Xpacket_Sink
                  };

        Option = MICROTHREAD_NAME String;                                               # 

        Inbuf_Egg =  Void -> (Exports,   (Imports, Run_Gun, End_Gun) -> Void);

        make_inbuf_egg
            :
            ( (sok::Socket (X, sok::Stream(sok::Active))),                              # Socket to read.
              List(Option)
            )
            -> Inbuf_Egg;                                                               # 
    };                                                                                  # api Inbuf_Ximp
end;




Comments and suggestions to: bugs@mythryl.org

PreviousUpNext