blob: e46c1ab7dccb514d1fb44cf2bee98cd70cbd1f63 [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.8.1/dotnetdoc/api/Apache.Ignite.Core.Binary.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Namespace Apache.Ignite.Core.Binary
| Apache Ignite.NET </title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Namespace Apache.Ignite.Core.Binary
| Apache Ignite.NET ">
<meta name="generator" content="docfx 2.24.0.0">
<link rel="shortcut icon" href="../images/favicon.ico">
<link rel="stylesheet" href="../styles/docfx.vendor.css">
<link rel="stylesheet" href="../styles/docfx.css">
<link rel="stylesheet" href="../styles/main.css">
<meta property="docfx:navrel" content="../toc.html">
<meta property="docfx:tocrel" content="toc.html">
<meta property="docfx:rel" content="../">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-61232409-1', 'auto');
ga('send', 'pageview');
</script></head>
<body data-spy="scroll" data-target="#affix">
<div id="wrapper">
<header>
<nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="../index.html">
<img id="logo" class="svg" src="../images/logo_ignite_32_32.png" alt="">
</a>
</div>
<div class="collapse navbar-collapse" id="navbar">
<form class="navbar-form navbar-right" role="search" id="search">
<div class="form-group">
<input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
</div>
</form>
</div>
</div>
</nav>
<div class="subnav navbar navbar-default">
<div class="container hide-when-search" id="breadcrumb">
<ul class="breadcrumb">
<li></li>
</ul>
</div>
</div>
</header>
<div class="container body-content">
<div id="search-results">
<div class="search-list"></div>
<div class="sr-items"></div>
<ul id="pagination"></ul>
</div>
</div>
<div role="main" class="container body-content hide-when-search">
<div class="sidenav hide-when-search">
<a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
<div class="sidetoggle collapse" id="sidetoggle">
<div id="sidetoc"></div>
</div>
</div>
<div class="article row grid-right">
<div class="col-md-10">
<article class="content wrap" id="_content" data-uid="Apache.Ignite.Core.Binary">
<h1 id="Apache_Ignite_Core_Binary" data-uid="Apache.Ignite.Core.Binary" class="text-break">Namespace Apache.Ignite.Core.Binary
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>
<div class="markdown level0 remarks"></div>
<h3 id="classes">Classes
</h3>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.BinaryBasicNameMapper.html">BinaryBasicNameMapper</a></h4>
<section><p>Base binary name mapper implementation.</p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.BinaryConfiguration.html">BinaryConfiguration</a></h4>
<section><p>Binary type configuration.</p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.BinaryObjectException.html">BinaryObjectException</a></h4>
<section><p>Indicates an error during binarization.</p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.BinaryReflectiveSerializer.html">BinaryReflectiveSerializer</a></h4>
<section><p>Binary serializer which reflectively writes all fields except of ones with
<span class="xref">System.NonSerializedAttribute</span>.
<p>
Note that Java platform stores dates as a difference between current time
and predefined absolute UTC date. Therefore, this difference is always the
same for all time zones. .NET, in contrast, stores dates as a difference
between current time and some predefined date relative to the current time
zone. It means that this difference will be different as you change time zones.
To overcome this discrepancy Ignite always converts .Net date to UTC form
before serializing and allows user to decide whether to deserialize them
in UTC or local form using <code>ReadTimestamp(..., true/false)</code> methods in
<a class="xref" href="Apache.Ignite.Core.Binary.IBinaryReader.html">IBinaryReader</a> and <a class="xref" href="Apache.Ignite.Core.Binary.IBinaryRawReader.html">IBinaryRawReader</a>.
This serializer always read dates in UTC form. It means that if you have
local date in any field/property, it will be implicitly converted to UTC
form after the first serialization-deserialization cycle. </p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.BinaryTypeConfiguration.html">BinaryTypeConfiguration</a></h4>
<section><p>Binary type configuration.</p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.BinaryTypeNames.html">BinaryTypeNames</a></h4>
<section><p>Binary type name constants.</p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.TimestampAttribute.html">TimestampAttribute</a></h4>
<section><p>Instructs the serializer to write DateTime fields and properties in Timestamp format,
which is interoperable with other platforms and works in SQL,
but does not allow non-UTC values.
<p>
When applied to a struct or a class, changes behavior for all fields and properties.
<p>
Normally serializer uses <a class="xref" href="Apache.Ignite.Core.Binary.IBinaryWriter.html#Apache_Ignite_Core_Binary_IBinaryWriter_WriteObject__1_System_String___0_">WriteObject&lt;T&gt;(String, T)</a> for DateTime fields.
This attribute changes the behavior to <a class="xref" href="Apache.Ignite.Core.Binary.IBinaryWriter.html#Apache_Ignite_Core_Binary_IBinaryWriter_WriteTimestamp_System_String_System_Nullable_System_DateTime__">WriteTimestamp(String, Nullable&lt;DateTime&gt;)</a>.
<p>
See also <a class="xref" href="Apache.Ignite.Core.Binary.BinaryReflectiveSerializer.html#Apache_Ignite_Core_Binary_BinaryReflectiveSerializer_ForceTimestamp">ForceTimestamp</a>.</p>
</section>
<h3 id="interfaces">Interfaces
</h3>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinarizable.html">IBinarizable</a></h4>
<section><p>Interface to implement custom serialization logic.</p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinary.html">IBinary</a></h4>
<section><p>Defines binary objects functionality. With binary objects you are able to:
<ul><li>Seamlessly interoperate between Java, .NET, and C++.</li><li>Make any object binary with zero code change to your existing code.</li><li>Nest binary objects within each other.</li><li>Automatically handle <code>circular</code> or <code>null</code> references.</li><li>Automatically convert collections and maps between Java, .NET, and C++.</li><li>Optionally avoid deserialization of objects on the server side.</li><li>Avoid need to have concrete class definitions on the server side.</li><li>Dynamically change structure of the classes without having to restart the cluster.</li><li>Index into binary objects for querying purposes.</li></ul></p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryIdMapper.html">IBinaryIdMapper</a></h4>
<section><p>Maps class name and class field names to integer identifiers.</p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryNameMapper.html">IBinaryNameMapper</a></h4>
<section><p>Maps type and field names to different names.</p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryObject.html">IBinaryObject</a></h4>
<section><p>Wrapper for serialized objects.</p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryObjectBuilder.html">IBinaryObjectBuilder</a></h4>
<section><p>binary object builder. Provides ability to build binary objects dynamically
without having class definitions.
<p>
Note that type ID is required in order to build binary object. Usually it is
enough to provide a simple type name and Ignite will generate the type ID
automatically.</p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryRawReader.html">IBinaryRawReader</a></h4>
<section><p>Raw reader for binary objects. </p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryRawWriter.html">IBinaryRawWriter</a></h4>
<section><p>Raw writer for binary objects. </p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryReader.html">IBinaryReader</a></h4>
<section><p>Reader for binary objects. </p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinarySerializer.html">IBinarySerializer</a></h4>
<section><p>Binary serializer. </p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryType.html">IBinaryType</a></h4>
<section><p>Binary type metadata.</p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryWriter.html">IBinaryWriter</a></h4>
<section><p>Writer for binary objects. </p>
</section>
</article>
</div>
<div class="hidden-sm col-md-2" role="complementary">
<div class="sideaffix">
<nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
<!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
</nav>
</div>
</div>
</div>
</div>
<footer>
<div class="grad-bottom"></div>
<div class="footer">
<div class="container">
<span class="pull-right">
<a href="#top">Back to top</a>
</span>
© 2015 - 2019 The Apache Software Foundation
</div>
</div>
</footer>
</div>
<script type="text/javascript" src="../styles/docfx.vendor.js"></script>
<script type="text/javascript" src="../styles/docfx.js"></script>
<script type="text/javascript" src="../styles/main.js"></script>
</body>
</html>