当前位置: 首页>>代码示例>>C#>>正文


C# BasicStream.endReadEncaps方法代码示例

本文整理汇总了C#中IceInternal.BasicStream.endReadEncaps方法的典型用法代码示例。如果您正苦于以下问题:C# BasicStream.endReadEncaps方法的具体用法?C# BasicStream.endReadEncaps怎么用?C# BasicStream.endReadEncaps使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IceInternal.BasicStream的用法示例。


在下文中一共展示了BasicStream.endReadEncaps方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: OpaqueEndpointI

 public OpaqueEndpointI(short type, BasicStream s)
 {
     _type = type;
     _rawEncoding = s.startReadEncaps();
     int sz = s.getReadEncapsSize();
     _rawBytes = new byte[sz];
     s.readBlob(_rawBytes);
     s.endReadEncaps();
     calcHashValue();
 }
开发者ID:Radulfr,项目名称:zeroc-ice,代码行数:10,代码来源:OpaqueEndpointI.cs

示例2: TcpEndpointI

 public TcpEndpointI(BasicStream s)
 {
     _instance = s.instance();
     s.startReadEncaps();
     _host = s.readString();
     _port = s.readInt();
     _timeout = s.readInt();
     _compress = s.readBool();
     s.endReadEncaps();
     calcHashValue();
 }
开发者ID:2008hatake,项目名称:zeroc-ice,代码行数:11,代码来源:TcpEndpointI.cs

示例3: create

        public EndpointI create(string str, bool oaEndpoint)
        {
            string[] arr = IceUtilInternal.StringUtil.splitString(str, " \t\r\n");
            if(arr == null)
            {
                Ice.EndpointParseException e = new Ice.EndpointParseException();
                e.str = "mismatched quote";
                throw e;
            }

            if(arr.Length == 0)
            {
                Ice.EndpointParseException e = new Ice.EndpointParseException();
                e.str = "value has no non-whitespace characters";
                throw e;
            }

            List<string> v = new List<string>(arr);
            string protocol = v[0];
            v.RemoveAt(0);

            if(protocol.Equals("default"))
            {
                protocol = instance_.defaultsAndOverrides().defaultProtocol;
            }

            EndpointFactory factory = null;

            lock(this)
            {
                for(int i = 0; i < _factories.Count; i++)
                {
                    EndpointFactory f = _factories[i];
                    if(f.protocol().Equals(protocol))
                    {
                        factory = f;
                    }
                }
            }

            if(factory != null)
            {
                EndpointI e = factory.create(v, oaEndpoint);
                if(v.Count > 0)
                {
                    Ice.EndpointParseException ex = new Ice.EndpointParseException();
                    ex.str = "unrecognized argument `" + v[0] + "' in endpoint `" + str + "'";
                    throw ex;
                }
                return e;

                // Code below left in place for debugging.

                /*
                EndpointI e = f.create(s.Substring(m.Index + m.Length), oaEndpoint);
                BasicStream bs = new BasicStream(instance_, true);
                e.streamWrite(bs);
                Buffer buf = bs.getBuffer();
                buf.b.position(0);
                short type = bs.readShort();
                EndpointI ue = new IceInternal.OpaqueEndpointI(type, bs);
                System.Console.Error.WriteLine("Normal: " + e);
                System.Console.Error.WriteLine("Opaque: " + ue);
                return e;
                */
            }

            //
            // If the stringified endpoint is opaque, create an unknown endpoint,
            // then see whether the type matches one of the known endpoints.
            //
            if(protocol.Equals("opaque"))
            {
                EndpointI ue = new OpaqueEndpointI(v);
                if(v.Count > 0)
                {
                    Ice.EndpointParseException ex = new Ice.EndpointParseException();
                    ex.str = "unrecognized argument `" + v[0] + "' in endpoint `" + str + "'";
                    throw ex;
                }
                factory = get(ue.type());
                if(factory != null)
                {
                    //
                    // Make a temporary stream, write the opaque endpoint data into the stream,
                    // and ask the factory to read the endpoint data from that stream to create
                    // the actual endpoint.
                    //
                    BasicStream bs = new BasicStream(instance_, Ice.Util.currentProtocolEncoding);
                    bs.writeShort(ue.type());
                    ue.streamWrite(bs);
                    Buffer buf = bs.getBuffer();
                    buf.b.position(0);
                    buf.b.limit(buf.size());
                    bs.readShort(); // type
                    bs.startReadEncaps();
                    EndpointI e = factory.read(bs);
                    bs.endReadEncaps();
                    return e;
                }
//.........这里部分代码省略.........
开发者ID:joshmoore,项目名称:ice,代码行数:101,代码来源:EndpointFactoryManager.cs

示例4: read

        public EndpointI read(BasicStream s)
        {
            lock(this)
            {
                short type = s.readShort();

                EndpointFactory factory = get(type);
                EndpointI e = null;

                s.startReadEncaps();

                if(factory != null)
                {
                    e = factory.read(s);
                }
                else
                {
                    e = new OpaqueEndpointI(type, s);
                }

                s.endReadEncaps();

                return e;
            }
        }
开发者ID:joshmoore,项目名称:ice,代码行数:25,代码来源:EndpointFactoryManager.cs

示例5: UdpEndpointI

 public UdpEndpointI(BasicStream s)
 {
     instance_ = s.instance();
     s.startReadEncaps();
     _host = s.readString();
     _port = s.readInt();
     if(s.getReadEncoding().Equals(Ice.Util.Encoding_1_0))
     {
         s.readByte();
         s.readByte();
         s.readByte();
         s.readByte();
     }
     // Not transmitted.
     //_connect = s.readBool();
     _connect = false;
     _compress = s.readBool();
     s.endReadEncaps();
     calcHashValue();
 }
开发者ID:sbesson,项目名称:zeroc-ice,代码行数:20,代码来源:UdpEndpointI.cs

示例6: UdpEndpointI

 public UdpEndpointI(BasicStream s)
 {
     instance_ = s.instance();
     s.startReadEncaps();
     _host = s.readString();
     _port = s.readInt();
     _protocolMajor = s.readByte();
     _protocolMinor = s.readByte();
     _encodingMajor = s.readByte();
     _encodingMinor = s.readByte();
     if(_protocolMajor != Protocol.protocolMajor)
     {
         Ice.UnsupportedProtocolException e = new Ice.UnsupportedProtocolException();
         e.badMajor = _protocolMajor < 0?_protocolMajor + 255:_protocolMajor;
         e.badMinor = _protocolMinor < 0?_protocolMinor + 255:_protocolMinor;
         e.major = Protocol.protocolMajor;
         e.minor = Protocol.protocolMinor;
         throw e;
     }
     if(_encodingMajor != Protocol.encodingMajor)
     {
         Ice.UnsupportedEncodingException e = new Ice.UnsupportedEncodingException();
         e.badMajor = _encodingMajor < 0?_encodingMajor + 255:_encodingMajor;
         e.badMinor = _encodingMinor < 0?_encodingMinor + 255:_encodingMinor;
         e.major = Protocol.encodingMajor;
         e.minor = Protocol.encodingMinor;
         throw e;
     }
     // Not transmitted.
     //_connect = s.readBool();
     _connect = false;
     _compress = s.readBool();
     s.endReadEncaps();
     calcHashValue();
 }
开发者ID:bholl,项目名称:zeroc-ice,代码行数:35,代码来源:UdpEndpointI.cs


注:本文中的IceInternal.BasicStream.endReadEncaps方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。