protected abstract KeyFormat ( ) : KeyFormat |
||
Результат | KeyFormat |
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: private static <Key> DataProvider dataProvider(ReadableState<Key> store, java.util.concurrent.ConcurrentMap<Key, ChangeEntry> changes) throws java.io.IOException private static DataProvider DataProvider <Key>(ReadableState <Key> store, ConcurrentMap <Key, ChangeEntry> changes) { if (changes.Empty) { return(store.DataProvider()); } else { KeyFormat <Key> keys = store.KeyFormat(); return(new KeyValueMerger(store.DataProvider(), new UpdateProvider(SortedUpdates(keys, changes)), keys.KeySize(), keys.ValueSize())); } }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @SuppressWarnings("SynchronizationOnLocalVariableOrMethodParameter") static <Key> void applyUpdate(ReadableState<Key> store, java.util.concurrent.ConcurrentMap<Key, ChangeEntry> changes, Key key, ValueUpdate update, boolean reset, long version) throws java.io.IOException //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: internal static void ApplyUpdate <Key>(ReadableState <Key> store, ConcurrentMap <Key, ChangeEntry> changes, Key key, ValueUpdate update, bool reset, long version) { ChangeEntry value = changes.get(key); if (value == null) { ChangeEntry newEntry = ChangeEntry.Of(new sbyte[store.KeyFormat().valueSize()], version); lock ( newEntry ) { value = changes.putIfAbsent(key, newEntry); if (value == null) { BigEndianByteArrayBuffer buffer = new BigEndianByteArrayBuffer(newEntry.Data); if (!reset) { PreviousValue lookup = new PreviousValue(newEntry.Data); if (!store.Lookup(key, lookup)) { buffer.Clear(); } } update.Update(buffer); return; } } } lock ( value ) { BigEndianByteArrayBuffer target = new BigEndianByteArrayBuffer(value.Data); value.Version = version; if (reset) { target.Clear(); } update.Update(target); } }