blob: 5c2d4ab2f35cf6f152fd06d9401ecfa59900a258 [file] [log] [blame]
/*
* Copyright 2018, gRPC Authors All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.grpc;
import java.io.Closeable;
/**
* A binary log that can be installed on a channel or server. {@link #close} must be called after
* all the servers and channels associated with the binary log are terminated.
*/
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/4017")
public abstract class BinaryLog implements Closeable {
public abstract <ReqT, RespT> ServerMethodDefinition<?, ?> wrapMethodDefinition(
ServerMethodDefinition<ReqT, RespT> oMethodDef);
public abstract Channel wrapChannel(Channel channel);
/**
* A CallId is two byte[] arrays both of size 8 that uniquely identifies the RPC. Users are
* free to use the byte arrays however they see fit.
*/
public static final class CallId {
public final long hi;
public final long lo;
/**
* Creates an instance.
*/
public CallId(long hi, long lo) {
this.hi = hi;
this.lo = lo;
}
}
}