1/* 2 * 3 * Copyright 2016 gRPC authors. 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 */ 18 19#ifdef GRPC_TEST_OBJC 20 21#import "GRPCOpBatchLog.h" 22 23static NSMutableArray *opBatchLog = nil; 24 25@implementation GRPCOpBatchLog 26 27+ (void)enableOpBatchLog:(BOOL)enabled { 28 @synchronized(opBatchLog) { 29 if (enabled) { 30 if (!opBatchLog) { 31 opBatchLog = [NSMutableArray array]; 32 } 33 } else { 34 if (opBatchLog) { 35 opBatchLog = nil; 36 } 37 } 38 } 39} 40 41+ (void)addOpBatchToLog:(NSArray *)batch { 42 @synchronized(opBatchLog) { 43 [opBatchLog addObject:batch]; 44 } 45} 46 47+ (NSArray *)obtainAndCleanOpBatchLog { 48 @synchronized(opBatchLog) { 49 NSArray *out = opBatchLog; 50 opBatchLog = [NSMutableArray array]; 51 return out; 52 } 53} 54 55@end 56 57#endif 58