66 lines
1.9 KiB
C
Raw Normal View History

// Copyright 2018 The NATS Authors
// 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.
#ifndef STAN_CONN_H_
#define STAN_CONN_H_
#include "stanp.h"
#ifdef DEV_MODE
// For type safety
void stanConn_Lock(stanConnection *sc);
void stanConn_Unlock(stanConnection *sc);
#else
// We know what we are doing :-)
#define stanConn_Lock(c) (natsMutex_Lock((c)->mu))
#define stanConn_Unlock(c) (natsMutex_Unlock((c)->mu))
#endif // DEV_MODE
#define STAN_ERR_CONNECT_REQUEST_TIMEOUT "connect request timeout"
#define STAN_ERR_CONNECT_REQUEST_NO_RESP "no streaming server was listening for this connect request"
#define STAN_ERR_CLOSE_REQUEST_TIMEOUT "close request timeout"
#define STAN_ERR_CLOSE_REQUEST_NO_RESP "no streaming server was listening for this close request"
#define STAN_ERR_MAX_PINGS "connection lost due to PING failure"
extern int MEMALIGN;
void
stanConn_retain(stanConnection *nc);
void
stanConn_release(stanConnection *nc);
void
stanConn_defaultConnLostHandler(stanConnection *sc, const char* errorTxt, void *closure);
natsStatus
stanConnClose(stanConnection *sc, bool sendProto);
natsStatus
expandBuf(char **buf, int *cap, int newcap);
natsStatus
natsPBufAllocator_Create(natsPBufAllocator **newAllocator, int protoSize, int overhead);
void
natsPBufAllocator_Prepare(natsPBufAllocator *allocator, int bufSize);
void
natsPBufAllocator_Destroy(natsPBufAllocator *allocator);
#endif /* STAN_CONN_H_ */