Documentation

Miri.Interpreter.SocketMachine

Shared canonical FD/Readiness/BlockingIo bindings for socket descriptions. Registries store real protocol state under actual allocation identities.

Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Instances For
        Instances For
          def Miri.Interpreter.SocketMachine.kind {O H D : Type} (descriptor : Descriptor O) (ref : Ref H D O) :
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def Miri.Interpreter.SocketMachine.bindVirtual {K U H D O R L T E : Type} (h : ReadinessMachine.Hooks K U H D O) (descriptor : Descriptor O) (store : Store U R L T E) (base : VirtualSocket.Hooks (MachineHooks.State K U) (Ref H D O) E) :
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def Miri.Interpreter.SocketMachine.dropSocket {K U H D O R L T E : Type} (h : ReadinessMachine.Hooks K U H D O) (descriptor : Descriptor O) (store : Store U R L T E) (virtual : VirtualSocket.Hooks (MachineHooks.State K U) (Ref H D O) E) (hostDrop : TcpSocket.SocketState R L T → MachineHooks.M K U Unit) (ref : Ref H D O) :

              Installed on the descriptor's actual last-drop route. TCP host state drops before ReadinessWatched (struct field order). Virtual peer notification precedes watched-field drop; it transfers a real upgraded ref to the delayed queue.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Miri.Interpreter.SocketMachine.bindReadiness {K U H D O R L T E : Type} (h : ReadinessMachine.Hooks K U H D O) (descriptor : Descriptor O) (store : Store U R L T E) (virtual : VirtualSocket.Hooks (MachineHooks.State K U) (Ref H D O) E) (base : Readiness.Hooks (MachineHooks.State K U) (Ref H D O)) :

                Descriptor readiness is protocol state, not an unconditional host-ready bit.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  def Miri.Interpreter.SocketMachine.bindTcp {K U H D O R L T E Poll Host : Type} (h : ReadinessMachine.Hooks K U H D O) (descriptor : Descriptor O) (store : Store U R L T E) (readiness : Readiness.Hooks (MachineHooks.State K U) (Ref H D O)) (blocking : ReadinessMachine.BlockingStore U Poll) (base : TcpSocket.Hooks (MachineHooks.State K U) (Ref H D O) R L T E Poll Host) :
                  TcpSocket.Hooks (MachineHooks.State K U) (Ref H D O) R L T E Poll Host
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    Exact host cfg list selecting epoll/kqueue short-I/O readiness clearing.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def Miri.Interpreter.SocketMachine.operations {O S H D E R L T P Host I : Type} (budget : Nat) (descriptor : Descriptor O) (virtual : VirtualSocket.Hooks S (Ref H D O) E) (tcp : TcpSocket.Hooks S (Ref H D O) R L T E P Host) (options : SocketOptions.Hooks S (Ref H D O) E I) :
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        def Miri.Interpreter.SocketMachine.bindOptions {S F R L T E P H I : Type} (tcp : TcpSocket.Hooks S F R L T E P H) (base : SocketOptions.Hooks S F E I) :
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          def Miri.Interpreter.SocketMachine.bindSocket {K U H D O R L T E P Host I : Type} (h : ReadinessMachine.Hooks K U H D O) (descriptor : Descriptor O) (store : Store U R L T E) (budget : Nat) (asUnix : Ref H D O → MachineHooks.M K U Unit) (virtual : VirtualSocket.Hooks (MachineHooks.State K U) (Ref H D O) E) (tcp : TcpSocket.Hooks (MachineHooks.State K U) (Ref H D O) R L T E P Host) (options : SocketOptions.Hooks (MachineHooks.State K U) (Ref H D O) E I) (base : Socket.Hooks (MachineHooks.State K U) (Ref H D O) E I) :
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            def Miri.Interpreter.SocketMachine.bindFiles {O S H D E R L T Poll Host HM : Type} (budget : Nat) (descriptor : Descriptor O) (virtual : VirtualSocket.Hooks S (Ref H D O) E) (tcp : TcpSocket.Hooks S (Ref H D O) R L T E Poll Host) (base : Files.Hooks S H D O E HM) :
                            Files.Hooks S H D O E HM

                            Source FileDescription::read/write route also supports virtual pipe ends; only send/recv go through checked as_socket. Other payloads delegate unchanged.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              def Miri.Interpreter.SocketMachine.bindDeadline {K U Host System F R L T E Poll Error : Type} (deadline : DeadlineMachine.Hooks K U Host System) (base : TcpSocket.Hooks (MachineHooks.State K U) F R L T E Poll Error) :
                              TcpSocket.Hooks (MachineHooks.State K U) F R L T E Poll Error

                              Actual monotonic clock and typed registry for nonblocking "now" probes and relative read/write timeouts; no Nat timestamp approximation.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  def Miri.Interpreter.SocketMachine.bind {K U H D O R L T E Poll Host I : Type} (h : ReadinessMachine.Hooks K U H D O) (descriptor : Descriptor O) (store : Store U R L T E) (blocking : ReadinessMachine.BlockingStore U Poll) (budget : Nat) (asUnix : Ref H D O → MachineHooks.M K U Unit) (baseVirtual : VirtualSocket.Hooks (MachineHooks.State K U) (Ref H D O) E) (baseTcp : TcpSocket.Hooks (MachineHooks.State K U) (Ref H D O) R L T E Poll Host) (options : SocketOptions.Hooks (MachineHooks.State K U) (Ref H D O) E I) (socket : Socket.Hooks (MachineHooks.State K U) (Ref H D O) E I) :
                                  VirtualSocket.Hooks (MachineHooks.State K U) (Ref H D O) E × TcpSocket.Hooks (MachineHooks.State K U) (Ref H D O) R L T E Poll Host × Socket.Hooks (MachineHooks.State K U) (Ref H D O) E I

                                  Final authoritative registry composition; compiler/memory/host leaves from base remain required. Both socket kinds share the same ownership/readiness view.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    def Miri.Interpreter.SocketMachine.bindFullStacks {K U F E R L T Poll Host : Type} (virtual : VirtualSocket.Hooks (ThreadStacks.State K U) F E) (tcp : TcpSocket.Hooks (ThreadStacks.State K U) F R L T E Poll Host) :
                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For

                                      Address byte accesses and temporary-buffer copies reuse actual shared memory operations. Compiler allocation, pointer views and field projections stay typed.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        def Miri.Interpreter.SocketMachine.bindTimeval {S Host System Zone Stamp F E I : Type} (time : TimeShims.Hooks S Host System Zone Stamp) (base : SocketOptions.Hooks S F E I) :
                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For