Beispiel #1
0
        internal void WriteTo(Span <byte> output)
        {
            var writer = new SpanWriter <byte>(output);

            writer.WriteInt64(ApplicationId, true);
            writer.WriteInt64(StreamId, true);
        }
Beispiel #2
0
        private int CreateOutboundMessage(Span <byte> payload)
        {
            var writer = new SpanWriter <byte>(payload);

            writer.WriteUInt16(myPort, true);
            writer.WriteInt64(currentTerm, true);
            writer.WriteInt64(lastLogIndex, true);
            writer.WriteInt64(lastLogTerm, true);

            return(writer.WrittenCount);
        }
Beispiel #3
0
        private int WriteAnnouncement(Span <byte> output)
        {
            var writer = new SpanWriter <byte>(output);

            writer.WriteUInt16(myPort, true);
            writer.WriteInt64(term, true);
            writer.WriteInt64(snapshotIndex, true);
            LogEntryMetadata.Create(snapshot).Serialize(ref writer);

            return(writer.WrittenCount);
        }
Beispiel #4
0
        private int WriteAnnouncement(Span <byte> output)
        {
            var writer = new SpanWriter <byte>(output);

            writer.WriteUInt16(myPort, true);
            writer.WriteInt64(term, true);
            writer.WriteInt64(snapshotIndex, true);
            writer.WriteInt64(snapshot.Length.GetValueOrDefault(-1), true);
            writer.WriteInt64(snapshot.Term, true);
            writer.Write(snapshot.Timestamp);

            return(writer.WrittenCount);
        }
Beispiel #5
0
        private protected int WriteAnnouncement(Span <byte> output, int entriesCount)
        {
            var writer = new SpanWriter <byte>(output);

            writer.WriteUInt16(myPort, true);
            writer.WriteInt64(term, true);
            writer.WriteInt64(prevLogIndex, true);
            writer.WriteInt64(prevLogTerm, true);
            writer.WriteInt64(commitIndex, true);
            writer.WriteInt32(entriesCount, true);

            return(writer.WrittenCount);
        }