⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sfp.idl

📁 这是广泛使用的通信开源项目,对于大容量,高并发的通讯要求完全能够胜任,他广泛可用于网络游戏医学图像网关的高qos要求.更详细的内容可阅读相应的材料
💻 IDL
字号:
/* -*- C++ -*- */
// sfp.idl,v 1.10 1999/05/31 02:22:48 naga Exp

#ifndef TAO_SFP_IDL
#define TAO_SFP_IDL

module flowProtocol
{
  typedef sequence<char> my_seq_char;
  typedef sequence <unsigned long> my_seq_ulong;
  enum MsgType
  {
    // The MsgTypes Start and struct Start,StartReply and struct
    // StartReply conflicts. 
    // Also there are case-only differences for enumerator Credit and struct credit. 
    // We suffix _Msg to all enumerators until the AVStreams RTF fixes these.
    // Messages in the forward direction 
    //    Start,
    Start_Msg,
    EndofStream_Msg,
    SimpleFrame_Msg,
    SequencedFrame_Msg,
    Frame_Msg,
    SpecialFrame_Msg,
    // Messages in the reverse direction
    //    StartReply,
    StartReply_Msg,
    Credit_Msg,
    // Addition of type for a fragment.
    Fragment_Msg
  }; 
  
  struct frameHeader
  { 
    char magic_number[4];
    //    my_seq_char magic_number;
    // '=', 'S', 'F', 'P' 
    octet flags;   
    // bit 0 = byte order, 
    // 1 = fragments, 2-7 always 0 
    octet message_type; 
    unsigned long message_size; 
    // Size following this header 
  }; 
  
  struct fragment
  { 
    //    my_seq_char magic_number; 
    char magic_number[4];
    // 'F', 'R', 'A', 'G' 
    octet flags; 
    // bit 1 = more fragments, %%bit 0 = byteorder 
    unsigned long frag_number; 
    // 1,..,n 
    unsigned long sequence_num;
    unsigned long frag_sz; 
    unsigned long source_id; 
    // Required for UDP multicast with multiple sources 
  };                    
  
  struct Start
  { 
    char magic_number[4];
    //    my_seq_char magic_number;
    // '=', 'S', 'T', 'A' 
    octet major_version; 
    octet minor_version; 
    octet flags; 
    // bit 0 = byte order 
  }; 
  
  // Acknowledge successful processing of 
  // Start 
  
  struct StartReply
  { 
    //    my_seq_char magic_number;
    char magic_number[4];
    // "=",'S','T','R'
    octet flags; 
    // bit 0 = byte order, 1 = exception 
  }; 
  
  // If the message_type in frameHeader is sequencedFrame 
  // the the frameHeader will be followed by this 
  // (See also RTP note) 
  
  struct sequencedFrame
  { 
    unsigned long sequence_num; 
  }; 
  // If the message_type is Frame then 
  // the frameHeader is followed by this 
  // See also RTP note 
  
  struct frame
  { 
    unsigned long timestamp; 
    unsigned long synchSource;
    my_seq_ulong source_ids;
    unsigned long sequence_num;
  };

  // XXX:The spec hasn't defined frameID.
  typedef unsigned long frameID;
  struct specialFrame
  {
    frameID context_id;
    sequence<octet> context_data;
  };
  
  struct credit
  {
    //    my_seq_char magic_number;
    char magic_number[4];
    // "=",'C','R','E'
    unsigned long cred_num;
  };
  
};

#endif /* TAO_SFP_IDL */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -