Ejemplo n.º 1
0
 public FudgeSerializationContext(FudgeContext context, SerializationTypeMap typeMap, IFudgeStreamWriter writer, IFudgeTypeMappingStrategy typeMappingStrategy)
 {
     this.context             = context;
     this.writer              = writer;
     this.typeMap             = typeMap;
     this.typeMappingStrategy = typeMappingStrategy;
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Convenience method for writing a <see cref="FudgeMsg"/> to a <see cref="IFudgeStreamWriter"/>.
        /// </summary>
        /// <param name="writer">Writer to write the data.</param>
        /// <param name="msg">Message to write.</param>
        public static void WriteMsg(this IFudgeStreamWriter writer, FudgeMsg msg)
        {
            var reader = new FudgeMsgStreamReader(msg.Context, msg);
            var pipe   = new FudgeStreamPipe(reader, writer);

            pipe.ProcessOne();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Serializes an object graph to a Fudge message stream.
        /// </summary>
        /// <param name="writer">Stream to write the messages to.</param>
        /// <param name="graph">Starting point for graph of objects to serialize.</param>
        public void Serialize(IFudgeStreamWriter writer, object graph)
        {
            if (graph == null)
            {
                throw new ArgumentNullException("graph");
            }

            // Delegate to FudgeSerializationContext to do the work
            var serializationContext = new FudgeSerializationContext(context, typeMap, writer, TypeMappingStrategy);

            serializationContext.SerializeGraph(graph);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Constructs a new pipe from an <see cref="IFudgeStreamReader"/> to an <see cref="IFudgeStreamWriter"/>.
 /// </summary>
 /// <param name="reader"><see cref="IFudgeStreamReader"/> from which to fetch the data.</param>
 /// <param name="writer"><see cref="IFudgeStreamWriter"/> to output the data.</param>
 public FudgeStreamPipe(IFudgeStreamReader reader, IFudgeStreamWriter writer)
 {
     this.reader = reader;
     this.writer = writer;
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Constructs a new pipe from an <see cref="IFudgeStreamReader"/> to an <see cref="IFudgeStreamWriter"/>.
 /// </summary>
 /// <param name="reader"><see cref="IFudgeStreamReader"/> from which to fetch the data.</param>
 /// <param name="writer"><see cref="IFudgeStreamWriter"/> to output the data.</param>
 public FudgeStreamPipe(IFudgeStreamReader reader, IFudgeStreamWriter writer)
 {
     this.reader = reader;
     this.writer = writer;
 }