Methods, systems, and computer program products for high-performance
interprocess communication. Each process dynamically identifies routines
responsible for managing communication received from other processes
through a shared memory heap and a shared memory queue, each of the
routines handling one or more operation codes. An allocation from the
shared heap produces a process agnostic memory handle from which a process
specific memory pointer may be obtained. Using the memory pointer, the
enqueuing process places an operation code, parameters, and any other
relevant data in the allocated memory and adds the memory handle to a
shared queue. The dequeuing process removes the memory handle from the
queue and generates a memory pointer to access the allocated memory in the
dequeuing process. Upon retrieving the operation code from the allocated
memory, the dequeuing process calls the appropriate handler routine.
Enqueues may be registered to account for expected responses that are not
received.
Métodos, sistemas, y productos del programa de computadora para la comunicación entre procesos de alto rendimiento. Cada proceso identifica dinámicamente las rutinas responsables de manejar la comunicación recibida de otros procesos a través de un montón compartido y de una coleta compartida de la memoria, cada uno de la memoria de las rutinas que manejan unos o más códigos de operación. Una asignación del montón compartido produce una manija agnóstica de proceso de la memoria de la cual un indicador de memoria específico de proceso pueda ser obtenido. Usando el indicador de memoria, los lugares de proceso enqueuing un código de operación, los parámetros, y cualquier otro dato relevante en la memoria asignada y agregan la manija de la memoria a una coleta compartida. El proceso dequeuing quita la manija de la memoria de la coleta y genera un indicador de memoria para tener acceso a la memoria asignada en el proceso dequeuing. Sobre el recuperación del código de operación de la memoria asignada, el proceso dequeuing llama la rutina apropiada del tratante. Enqueues puede ser colocado para explicar las respuestas previstas que no se reciben.