1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
classdef EndpointInfo < handle
% EndpointInfo Summary of EndpointInfo
%
% Base class providing access to the endpoint details.
%
% EndpointInfo Methods:
% type - Returns the type of the endpoint.
% datagram - Returns true if this endpoint is a datagram endpoint.
% secure - Returns true if this endpoint is a secure endpoint.
%
% EndpointInfo Properties:
% underlying (Ice.EndpointInfo) - The information of the underyling
% endpoint or an empty array if there's no underlying endpoint.
% timeout (int32) - The timeout for the endpoint in milliseconds.
% compress (logical) - Specifies whether or not compression should be
% used if available when using this endpoint.
% Copyright (c) ZeroC, Inc. All rights reserved.
methods
function obj = EndpointInfo(type, datagram, secure, underlying, timeout, compress)
if nargin == 3
underlying = [];
timeout = 0;
compress = false;
end
obj.type_ = type;
obj.datagram_ = datagram;
obj.secure_ = secure;
obj.underlying = underlying;
obj.timeout = timeout;
obj.compress = compress;
end
function r = type(obj)
% type Returns the type of the endpoint.
%
% Returns (int16) - The endpoint type.
if ~isempty(obj.underlying)
r = obj.underlying.type();
else
r = obj.type_;
end
end
function r = datagram(obj)
% datagram Returns true if this endpoint is a datagram endpoint.
%
% Returns (logical) - True for a datagram endpoint.
if ~isempty(obj.underlying)
r = obj.underlying.datagram();
else
r = obj.datagram_;
end
end
function r = secure(obj)
% secure Returns true if this endpoint is a secure endpoint.
%
% Returns (logical) - True for a secure endpoint.
if ~isempty(obj.underlying)
r = obj.underlying.secure();
else
r = obj.secure_;
end
end
end
properties(SetAccess=private)
% underlying The information of the underyling endpoint or an empty
% array if there's no underlying endpoint.
underlying
% timeout The timeout for the endpoint in milliseconds. 0 means
% non-blocking, -1 means no timeout.
timeout int32
% compress Specifies whether or not compression should be used if
% available when using this endpoint.
compress logical
end
properties(Access=protected)
type_
datagram_
secure_
end
end
|