📄 cms.hh
字号:
virtual void clean_buffers(); /***********************************************/ /* CMS UPDATE FUNCTIONS located in cms_up.cc */ /***********************************************/ /* Access functions for primitive C language data types */ CMS_STATUS update(bool &x); CMS_STATUS update(char &x); /* Used by emc2 */ CMS_STATUS update(unsigned char &x); /* Used by emc2 */ CMS_STATUS update(short int &x); CMS_STATUS update(unsigned short int &x); CMS_STATUS update(int &x); /* Used by emc2 */ CMS_STATUS update(unsigned int &x); CMS_STATUS update(long int &x); /* Used by emc2 */ CMS_STATUS update(unsigned long int &x); /* Used by emc2 */ CMS_STATUS update(float &x); CMS_STATUS update(double &x); /* Used by emc2 */ CMS_STATUS update(long double &x); CMS_STATUS update(char *x, unsigned int len); /* Used by emc2 */ CMS_STATUS update(unsigned char *x, unsigned int len); /* Used by emc2 */ CMS_STATUS update(short *x, unsigned int len); CMS_STATUS update(unsigned short *x, unsigned int len); CMS_STATUS update(int *x, unsigned int len); /* Used by emc2 */ CMS_STATUS update(unsigned int *x, unsigned int len); CMS_STATUS update(long *x, unsigned int len); CMS_STATUS update(unsigned long *x, unsigned int len); CMS_STATUS update(float *x, unsigned int len); CMS_STATUS update(double *x, unsigned int len); /* Used by emc2 */ CMS_STATUS update(long double *x, unsigned int len); /************************************************************************* * CMS UPDATE FUNCTIONS for POSEMATH classes, defined in cms_pm.cc * ************************************************************************/ // translation types CMS_STATUS update(PM_CARTESIAN & x); // Cart /* Used by emc2 */ CMS_STATUS update(PM_SPHERICAL & x); // Sph CMS_STATUS update(PM_CYLINDRICAL & x); // Cyl // rotation types CMS_STATUS update(PM_ROTATION_VECTOR & x); // Rot CMS_STATUS update(PM_ROTATION_MATRIX & x); // Mat CMS_STATUS update(PM_QUATERNION & x); // Quat CMS_STATUS update(PM_EULER_ZYZ & x); // Zyz CMS_STATUS update(PM_EULER_ZYX & x); // Zyx CMS_STATUS update(PM_RPY & x); // Rpy // pose types CMS_STATUS update(PM_POSE & x); // Pose CMS_STATUS update(PM_HOMOGENEOUS & x); // Hom // CMS UPDATE FUNCTIONS for arrays of POSEMATH types. // translation types CMS_STATUS update(PM_CARTESIAN * x, int n); // Cart CMS_STATUS update(PM_SPHERICAL * x, int n); // Sph CMS_STATUS update(PM_CYLINDRICAL * x, int n); // Cyl // rotation types CMS_STATUS update(PM_ROTATION_VECTOR * x, int n); // Rot CMS_STATUS update(PM_ROTATION_MATRIX * x, int n); // Mat CMS_STATUS update(PM_QUATERNION * x, int n); // Quat CMS_STATUS update(PM_EULER_ZYZ * x, int n); // Zyz CMS_STATUS update(PM_EULER_ZYX * x, int n); // Zyx CMS_STATUS update(PM_RPY * x, int n); // Rpy // pose types CMS_STATUS update(PM_POSE * x, int n); // Pose CMS_STATUS update(PM_HOMOGENEOUS * x, int n); // Hom /* comm protocol parameters shared by all protocols */ int fatal_error_occurred; int consecutive_timeouts; CMS_HEADER header; /* Information to be stored in CMS buffer. */ int queuing_enabled; /* queue messages in the buffer */ CMS_QUEUING_HEADER queuing_header; /* information for multi-slot buffers. */ CMSMODE mode; /* This process is reading or writing? */ long size; /* size of cms */ long free_space; long max_message_size; /* size of cms buffer available for user */ /* messages = size - CMS Header space */ long max_encoded_message_size; /* Maximum size of message after being encoded. */ long guaranteed_message_space; /* Largest size message before being encoded that can be guaranteed to fit after xdr. */ int neutral; /* neutral data format in buffer */ CMS_STATUS status; /* Status of the last CMS access. */ void set_cms_status(CMS_STATUS); /* Catch changes in cms status. */ int spawn_server; /* Buffers for local copies of global buffer. */ void *encoded_data; /* pointer to local copy of encoded data */ int using_external_encoded_data; void set_encoded_data(void *, long _encoded_data_size); void *data; /* pointer to local copy of data (raw) */ void *subdiv_data; /* pointer to current subdiv; */ /* Intersting Info Saved from the Configuration File. */ char BufferName[CMS_CONFIG_LINELEN]; char BufferHost[CMS_CONFIG_LINELEN]; char ProcessName[CMS_CONFIG_LINELEN]; char BufferLine[CMS_CONFIG_LINELEN]; char ProcessLine[CMS_CONFIG_LINELEN]; char ProcessHost[CMS_CONFIG_LINELEN]; char buflineupper[CMS_CONFIG_LINELEN]; char proclineupper[CMS_CONFIG_LINELEN]; char PermissionString[CMS_CONFIG_LINELEN]; int is_local_master; int force_raw; int split_buffer; /* Will the buffer be split into two areas so that one area can be read while the other is written to ? */ char toggle_bit; int first_read_done; int first_write_done; int write_permission_flag; int read_permission_flag; unsigned long rpc_program_number; int tcp_port_number; int stcp_port_number; int udp_port_number; long buffer_number; int delete_totally; long total_messages_missed; long messages_missed_on_last_read; char *format_low_ptr; char *format_high_ptr; long format_size; int check_pointer(char *ptr, long bytes); int isserver; /* Is the process a server. */ int is_phantom; /* Is this a phantom CMS channel? */ CMS_BUFFERTYPE BufferType; CMS_PROCESSTYPE ProcessType; CMS_REMOTE_PORT_TYPE remote_port_type; int pointer_check_disabled; CMSID in_buffer_id; /* Last id read, used to determine if new. */ void *encoded_header; /* pointer to local copy of encoded header */ void *encoded_queuing_header; /* pointer to local copy of encoded queue info */ long encoded_header_size; /* Dynamically determined size */ long encoded_queuing_header_size; /* Dynamically determined size */ /* Header Neutral Formatting Functions. */ int encode_header(); /* header-> ENCODE-> encoded_header */ int decode_header(); /* encoded_header -> DECODE -> header */ int encode_queuing_header(); /* queuing_header -> encoded_queuing_header */ int decode_queuing_header(); /* encoded_queuing_header ->queuing_header */ /* XDR of ASCII */ CMS_NEUTRAL_ENCODING_METHOD neutral_encoding_method; CMS_NEUTRAL_ENCODING_METHOD temp_updater_encoding_method; public: /* Type of internal access. */ CMS_INTERNAL_ACCESS_TYPE internal_access_type; PHYSMEM_HANDLE *handle_to_global_data; PHYSMEM_HANDLE *dummy_handle; int write_just_completed; CMSMODE read_mode; CMSMODE write_mode; int read_updater_mode; int write_updater_mode; CMSMODE last_im; /* data buffer stuff */ CMS_STATUS check_id(CMSID id); /* Determine if the buffer is new. */ friend class CMS_SERVER; friend class CMS_SERVER_HANDLER; public: double timeout; long connection_number; long total_connections; CMS_UPDATER *updater; CMS_UPDATER *normal_updater; CMS_UPDATER *temp_updater; private: unsigned long encode_state; /* Store position for save, restore. */ unsigned long decode_state; /* Store position for save, restore. */ void open(void); /* Allocate memory and intialize XDR streams */ static int number_of_cms_objects; /* Used to decide when to initialize and cleanup PC-NFS Toolkit DLLs */ public: double blocking_timeout; double min_compatible_version; int confirm_write; int disable_final_write_raw_for_dma; virtual const char *status_string(int); int total_subdivisions; int current_subdivision; long subdiv_size; int set_subdivision(int _subdiv); long encoded_data_size; long enc_max_size; long enable_diagnostics; CMS_DIAG_PROC_INFO *dpi; virtual CMS_DIAG_PROC_INFO *get_diag_proc_info(); virtual void set_diag_proc_info(CMS_DIAG_PROC_INFO *); virtual void setup_diag_proc_info(); virtual void calculate_and_store_diag_info(PHYSMEM_HANDLE * _handle, void *); virtual void internal_retrieve_diag_info(PHYSMEM_HANDLE * _handle, void *); CMS_DIAGNOSTICS_INFO *di; virtual CMS_DIAGNOSTICS_INFO *get_diagnostics_info(); int first_diag_store; double pre_op_total_bytes_moved; double time_bias; int skip_area; unsigned long half_offset; long half_size; int fast_mode; long size_without_diagnostics; int disable_diag_store; long diag_offset; int last_id_side0; int last_id_side1; int use_autokey_for_connection_number; /* RCS_CMD_MSG, RCS_STAT_MSG stuff */ private: CMS(CMS & cms); // Don't copy me.};class CMS_HOST_ALIAS_ENTRY { public: char host[64]; char alias[64];};extern LinkedList *cmsHostAliases;enum CMS_CONNECTION_MODE { CMS_NORMAL_CONNECTION_MODE = 0, /* all config file parameters are honored. */ CMS_FORCE_LOCAL_CONNECTION_MODE = 1, /* all connections are forced to be local */ CMS_FORCE_REMOTE_CONNECTION_MODE = 2 /* all connections are forced to be remote */};extern CMS_CONNECTION_MODE cms_connection_mode;extern char *cms_check_for_host_alias(char *in);extern int cms_encoded_data_explosion_factor;extern int cms_print_queue_free_space;extern int cms_print_queue_full_messages;#endif /* !defined(CMS_HH) */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -